線性表及其實現
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) 順序表元素值無序。
資料結構線性表作業
void main主函式 檔案中所定義的全域性變數的變數名和主要功能 暫無 檔案中用到的他處定義的全域性變數及其出處 暫無 與其他檔案的依賴關係 暫無 和資料的出處 資料結構 清華大學出版社 include include include include sleep 用到 define list i...
資料結構線性表答案
a.在p結點後插入s結點的語句序列是 b.在p結點前插入s結點的語句序列是 c.在表首插入s結點的語句序列是 d.在表尾插入s結點的語句序列是 1 p next s 2 p next p next next 3 p next s next 4 s next p next 5 s next l 6 s...
資料結構第2章線性表練習
1 對以下單鏈表分別執行下列各程式段,並畫出結果示意圖。1 q p next 2 l p next 3 r data p data 4 p data p next data 5 p next next next data p data 6 t p while t null 7 t p while t...