第八課 C資料結構 迴圈鍊錶及線性表的應用

2021-10-23 17:17:59 字數 611 閱讀 3822

1、單向迴圈鍊錶

如果把單鏈表的最後乙個節點的指標指向鍊錶頭部,而不是指向null,那麼就構成了乙個單向迴圈鍊錶,通俗講就是把尾節點的下一跳指向頭結點。

eg:設ra 和rb分別為兩迴圈鍊錶的尾指標,設計演算法,實現表ra和rb的簡單連線。

第一步:p指標指向rb的頭結點,p = b->next;;

第二步:rb尾結點指向ra的頭結點即b->next = a->next;

第三步:ra尾結點指向rb頭結點的下乙個結點即b0結點,a->next = p->next;

第四步:free p指標。

2、雙向迴圈鍊錶

在單鏈表中,我們有乙個資料域,還有乙個指標域,資料域用來儲存相關資料,而指標域則負責鍊錶之間的「聯絡」。 而在雙向鍊錶中,我們需要有兩個指標域,乙個負責向後連線,乙個負責向前連線。

和單向鍊錶相比有以下優勢:

插入刪除不需要移動元素外,可以原地插入刪除

可以雙向遍歷

詳解請參考:

資料結構線性表 迴圈鍊錶

普通單鏈表 1 表尾的next指標指向null。2 從乙個結點出發只能找到後續的結點。迴圈單鏈表 1 表尾的next指標指向頭指標l。2 從乙個結點出發可以找到其他任何乙個結點。include include typedef struct lnodelnode,linklist 迴圈單鏈表初始化 b...

資料結構C 迴圈鍊錶

我曾經去一家遊戲公司面試時遇到乙個筆試題,大意就是說有一群人出去旅遊,在河中遇到了大風,然後用轉盤決定誰在留在船上,誰自己跳下去自行解決生存問題。大家圍成乙個圈,啟動轉盤,轉盤指向誰就從睡開始數數,當有人數到13時,誰就跳下去,然後從下乙個人開始從頭數,當再有人數到13時,繼續上乙個迴圈。當時題意沒...

資料結構課設 線性結構(鍊錶)題目 joseph環

任務 編號是1,2,n的n個人按照順時針方向圍坐一圈,每個人只有乙個密碼 正整數 一開始任選乙個正整數作為報數上限值m,從第乙個仍開始順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,將他的密碼作為新的m值,從他在順時針方向的下乙個人開始重新從1報數,如此下去,直到所有人全部出列為止。設計...