填空题

下列算法将单链表中值重复的结点删除,使所得的结果表中各结点值均不相同,试完成该算法。
void DelSameNode(LinkList L)
//L是带头结点的单链表,删除其中的值重复的结点//
{ListNode * p,*q,*r;
p=L->next; //p初始指向开始结点//
while(p){ //处理当前结点p//
q=p;
r=q->next;
do { //删除与结点*p的值相同的结点//
while(r&&r->data!=p->data){
q=r;
r=r->next;
}
if(r){ //结点*r的值与*p的值相同,删除*r//
q->next=r->next;
free(r);
r=();
}
}while( r );
p=p->next;
}
}


您可能感兴趣的试卷

你可能感兴趣的试题

最新试题

已知带头结点的链队列指针Q,则该非空队列取队头元素操作的语句是()

题型:单项选择题

已知带头结点的链队列指针Q,则该队列做新元素结点s进队操作的语句是()

题型:单项选择题

通过表达式()可以获取带头结点的单链表L中首元素结点的数据值。

题型:单项选择题

一个抽象类型包括数据对象、()和一组处理数据的操作。

题型:单项选择题

阅读下列算法,并回答问题:设栈S=(1,2,3,4,5,6,7),其中7为栈顶元素。调用函数f30(S)后,(1)第一个循环结束后,栈T和队列Q中的内容各是什么?(2)第三个循环语句结束后,栈S中的内容是什么?

题型:问答题

单链表类型定义如下:用不带头结点的单链表存储待排数据,链表头指针为head。下列直接选择排序算法对链表按升序进行排序,请填写适当内容使算法完整。

题型:问答题

下列可以直接用循环结构即可将递归转换为非递归的是()

题型:多项选择题

一棵二叉树的先序序列是:CEDBA,中序序列是:DEBAC ,则该二叉树的后序序列是()

题型:单项选择题

在打印杨辉三角形前N行的算法中,需要申请一个N*N的二维数组存放杨辉三角形N行数据。

题型:判断题

顺序表中有10个数据元素,若第一个元素的存储地址是1000,则最后一个元素地址是1036,第5个元素的地址是()

题型:单项选择题