什麼是迴圈鍊錶:
將單鏈表中終端結點的指標端由空指標改為指向頭結點,就使整個鍊錶形成乙個環,這種頭尾相接的單鏈表成為單迴圈鍊錶,簡稱迴圈鍊錶(circular linked list)。
迴圈鍊錶的各種操作與單鏈表的相似,只是要注意迴圈鍊錶的尾結點是指向頭結點的
class testclink
class entry
public
entry(int data)
}//頭插法,與單鏈表的頭插法相似,
public
void
inserthead(int val)
//尾插法
public
void
insertrail(int val)
entry.next=cur.next;
cur.next=entry;
}//刪除乙個val
public
void
delete(int val)
slow.next=fast.next;
}//刪除全部的val
public
void
deleteall(int val)
else}}
//得到鍊錶的長度
public
void
getlength()
system.out.println("單鏈表長度為"+i);
}//判斷鍊錶是否為空
public boolean isempty()
return
false;
}//列印迴圈鍊錶
public
void
show()}}
public
class test1
t1.insertrail(5);
t1.insertrail(5);
t1.show();
system.out.println("====刪除第乙個5*****");
t1.delete(5);
t1.show();
t1.getlength();
system.out.println("====刪除全部5*****");
t1.deleteall(5);
t1.show();
// todo auto-generated method stub}}
執行結果:
cur.data= 0
cur.data= 1
cur.data= 2
cur.data= 3
cur.data= 4
cur.data= 5
cur.data= 5
====刪除第乙個5*****
cur.data= 0
cur.data= 1
cur.data= 2
cur.data= 3
cur.data= 4
cur.data= 5
單鏈表長度為6
====刪除全部5*****
cur.data= 0
cur.data= 1
cur.data= 2
cur.data= 3
cur.data= 4
雙向鍊錶及其各種操作
什麼是雙向鍊錶 我們都知道單向鍊錶中的每乙個節點有且只有乙個指標,這個指標就是用來指向下乙個節點的,單向鍊錶顧名思義就是鍊錶方向是單方向的,而本文要介紹的雙向鍊錶就是鍊錶方向是雙方向的,也就是雙向鍊錶中的每乙個節點有兩個指標,乙個指標用來指向上乙個節點 前驅 另乙個指標用指向下乙個節點 後繼 雙向鍊...
C C語言實現的鍊錶及其各種鍊錶操作
include includetypedef struct lnode lnode,linklist lnode 結構體型別,linklist 結構體指標 typedef enum bool lnode 等價於 linklist 頭插法 linklist creatlist1 linklist l ...
鍊錶的各種操作
鍊錶的各種操作 typedef struct lnode lnode linklist 建立乙個鏈式表 向表中加入資料 status listset linklist head p2 next null return ok 返回鏈式表的長度 int listlength linklist head ...