資料結構之 迴圈鍊錶

2021-10-03 16:46:51 字數 1164 閱讀 7873

迴圈鍊錶是另一種形式的鏈式存貯結構。它的特點是表中最後乙個結點的指標域指向頭結點,整個鍊錶形成乙個環。

分類

(1)單迴圈鍊錶——在單鏈表中,將終端結點的指標域null改為指向表頭結點或開始結點即可。

(2)多重鏈的迴圈鍊錶——將表中結點鏈在多個環上。

空鏈判斷

判斷空鍊錶的條件是

head==head->next;

rear==rear->next;

尾指標

用尾指標rear表示的單迴圈鍊錶對開始結點a1和終端結點an查詢時間都是o(1)。而表的操作常常是在表的首尾位置上進行,因此,實用中多採用尾指標表示單迴圈鍊錶。帶尾指標的單迴圈鍊錶可見下圖。

注意:判斷空鍊錶的條件為rear==rear->next;

特點

迴圈鍊錶的特點是無須增加儲存量,僅對錶的鏈結方式稍作改變,即可使得表處理更加方便靈活。

簡單實現

public class cinode 

public cinode(object data, cinode next)

public object getdata()

public void setdata(object data)

public cinode getnext()

public void setnext(cinode next)

public static void add(cinode node, int index) else

}} }

public static void remove(int index) else

temp++;

if (temp == index)

}} }

public static void display()

system.out.println();

} public static void main(string args)

}

資料結構之迴圈鍊錶

迴圈鍊錶是資料結構中煉表的一種形式。相對於單向鍊錶,將單向鍊錶的尾結點的指標域指向該單向鍊錶的頭結點,就構成了迴圈鍊錶。可以這麼理解,單向鍊錶就是一張單程火車票,比如你要從北京坐火車去上海,路上經過濟南 南京,此時北京 濟南 南京 上海就構成了單向鍊錶的四個結點,如下圖所示。但是,單向鍊錶是有去無回...

資料結構之迴圈鍊錶

前面學習了鏈式結構鍊錶,鏈式結構鍊錶也有使用的侷限性。比如說我們經常碰到的迴圈關係,最經典的當然是約瑟夫問題了,那麼我們怎麼去解決約瑟夫問題呢?相信你看完本文章就會了,好了言歸正傳,我們生活中經常會遇到迴圈問題,例如,一年的12個月,春夏秋冬交替,這些迴圈關係怎麼在我們的程式體現出來,少廢話,上 第...

資料結構之迴圈鍊錶

首先先了解如何判斷單鏈表中是否有環 環的定義 鍊錶中的尾節點指向了鍊錶中的某個節點。方法一 使用p q兩個指標,p一直往前走,q每次從頭往前走,當p等於q但是p q移動的步數不相等的時候,存在環。方法二 使用p q兩個指標,p每次往前走一步,q每次往前走兩步,當存在p q的時候,存在環。迴圈鍊錶,只...