logo - 刷刷题
下载APP
【简答题】

[说明]
已知包含头结点(不存储元素)的单链表元素已经按照非递减方式排序,函数compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。
在处理过程中,当元素重复出现时,保留元素第1次出现时所在的结点。
图8-4(a)、(b)是经函数compress()处理前后的链表结构示例图。


链表的结点类型定义如下。
typedef struct Node
int data;
struct Node *next;
NODE;
[C语言函数]
void compress (NODE *head)
NODE *ptr, *q, *s,*t;
ptr = head -> next; /* 取得第一个元素结点的指针*/
while (ptr && (1) )
q = ptr -> next;
while(q && (2) ) /*处理重复元素*/
q = q -> next;
s = (3) ;
ptr -> next = q; /* 保留重复序列的第一个结点,将其余结点从链表中删除*/

while( s && (4) ) /* 逐个释放被删除结点的空间*/
t = s-> next; free(s) ; s = t;

(5) = ptr -> next;
/* end of while */
/* end of compress */[说明]

举报
参考答案:
参考解析:
.
刷刷题刷刷变学霸
举一反三

【多选题】重复序列可分为( )

A.
单拷贝序列
B.
中度重复序列
C.
高度重复序列
D.
超高度重复序列
E.
轻度重复序列

【单选题】下列哪项和反向重复序列有关

A.
KpnI序列
B.
STR序列
C.
Alu序列
D.
回文序列