目錄
1.什麼是迴圈鍊錶
2.建立迴圈鍊錶
3.合併迴圈鍊錶
4.列印鍊錶
5.主函式
迴圈鍊錶是以單鏈表為原型,單鏈表中頭結點和未結點是不能直接關聯的,現在迴圈鍊錶讓尾結點直接指向頭結點,形成乙個圈,實現單向迴圈。
要點:<1>建立乙個頭結點,後面依次新增結點和單鏈表相同;
<2>新增乙個尾指標,使該尾指標指向鍊錶的頭結點;
<3>使鍊錶的尾結點的next指標指向頭結點,形成迴圈;
//採用尾插法
list clist()
return tail;
}
要點:<1>兩個鍊錶分別為p和q,使p的尾指標指向q的首結點(注意不是頭結點!!!!);
<2>使q的尾指標指向p的頭結點;
<3>釋放q的頭結點。
//列印迴圈鍊錶
int prlist(list p)
while((tail->data)!=(p->data));
return 0;
}//合併兩個迴圈鍊錶
//將其中乙個的頭結點釋放掉
list comlist(list p,list q)
//列印迴圈鍊錶
int prlist(list p)
while((tail->data)!=(p->data));
return 0;
}
int main()
鍊錶之鏈式儲存
優點 1 空間儲存方便,現用現申請 2 插入刪除,只針對單一資料,不需要移動大量資料 缺點 1 讀取,插入,刪除慢,需要從頭查詢,時間複雜度均為o n typedef struct nodenode intmain void getnode node l,int n,node tar if p i ...
鍊錶之鏈式儲存
優點 1 空間儲存方便,現用現申請 2 插入刪除,只針對單一資料,不需要移動大量資料 缺點 1 讀取,插入,刪除慢,需要從頭查詢,時間複雜度均為o n typedef struct nodenode intmain void getnode node l,int n,node tar if p i ...
線性表的鏈式儲存之迴圈鍊錶
迴圈鍊錶不同於單鏈表的是在迴圈鍊錶中最後乙個結點的指標不為null,而是指向頭結點,從而整個鍊錶形成乙個環。在迴圈單鏈表中,表尾結點 r的next域指向l,故表中沒有指標域為null的結點,因此,迴圈單鏈表的判空條件不是頭結點的指標是否為空,而是它是否等於頭結點。迴圈單鏈表的插入,刪除演算法與單鏈表...