《数据结构练习题》线性表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

线性表及其实现

1设一顺序表中元素值递增有序。写一算法,将元素x插到表中适当的位置,并保持顺序表的有序性,且分析算法的时间复杂度。

2设有两个按元素值递增有序的顺序表A和B,编一程序将A 表和B表归并成一个新的递增有序的顺序表C(值相同的元素均保留在C表中)。

3按下面两种情况分别编写算法删除顺序表中值相同的多余

元素:

(1)顺序表元素值递增有序;

(2)顺序表元素值无序。

4已知L是无表头结点的单链表,且P结点既不是首结点,也不是尾结点,试从下列提供的语句中选出合适的语句序列。

(1) 在P结点后插入S结点:__________

(2) 在P结点前插入S结点:__________

(3) 在表首插入S结点:__________

(4) 在表尾插入S结点:__________

① P->next = S;

② P->next = P->next->next;

③ P->next = S->next;

④ S->next = P->next;

⑤ S->next = L;

⑥ S->next = P;

⑦ S->next = NULL;

⑧ Q = P;

⑨ while (P->next != Q) P = P->next;

while (Q->next != NULL) Q = Q->next;

P = Q;

P = L;

L = S;

L = P;

5已知P结点是某双向链表的中间结点,试从下列提供的语句中选出合适的语句序列。

(1) 在P结点后插入S结点:______________

(2) 在P结点前插入S结点:______________

(3) 删除P结点的直接后继结点:______________

(4) 删除P结点的直接前驱结点:______________

(5) 删除P结点:______________

① P->next = P->next->next;

② P->prior = P->prior->prior;

③ P->next = S;

④ P->prior = S;

⑤ S->next = P;

⑥ S->prior = P;

⑦ S->next = P->next;

⑧ S->prior = P->prior;

⑨ P->prior->next = P->next;

P->prior->next = P;

P->next->prior = P;

P->next->prior = S;

P->prior->next = S;

P->next->prior = P->prior;

Q = P->next;

Q = P->prior;

free(P);

free(Q);

6设有两个线性表A和B皆是单链表存储结构。同一个表中的元素各不相同,且递增有序。写一算法,构成一个新的线性表C,使C为A和B的交集,且C中元素也递增有序。

7设有两个按元素值递增有序的单链表A和B,编一程序将A 表和B表归并成一个新的递增有序的单链表C(值相同的元素均保留在C表中)。

8设L为带头结点的单链表,按下面两种情况分别编写算法,删除表中值相同的多余元素。

(1) 顺序表元素值递增有序;

(2) 顺序表元素值无序。

相关文档
最新文档