單向不迴圈鍊錶

2021-09-29 05:22:33 字數 1836 閱讀 3947

linkedlist主要類:

class linkednode	}

public class linkedlist

node.next = head;

this.head = node;

return; }

//尾插

public void addlast(int elem)

linkednode cur = this.head;

//迴圈結束,cur一定為最後乙個節點

while(cur.next != null)

cur.next = node;

return; }

//任意位置插入

public void addindex(int index,int elem)

if(index == 0)

if(index == len)

linkednode prev = getindexpos(index - 1);

node.next = prev.next;

prev.next = node; }

//判斷元素是否存在

public boolean contains(int tofind)

} return false; }

//刪除第一次出現的關鍵字為key的元素

public void remove(int toremove)

if(head.data == toremove)

linkednode prev = searchprev(toremove);

if(prev == null)

= prev.next.next;

linkednode nodetoremove = prev.next;

prev.next = nodetoremove.next; }

//刪除所有關鍵字為key的元素

public void removeall(int toremove)

linkednode prev = head;

linkednode cur = head.next;

while(cur != null) else

} //頭結點的情況

if(this.head.data == toremove)

return; }

private linkednode searchprev(int toremove)

linkednode prev = this.head;

while(prev.next != null)

prev = prev.next;

} return null; }

//獲取index-1

public linkednode getindexpos(int index)

public static void testaddfrist()

public static void testaddlast()

public static void testaddindex()

public static void testcontains()

public static void testremove()

public static void testremoveall()

public static void testclear()

}

執行結果:

單向有頭不迴圈鍊錶

鍊錶是一種常見的基礎資料結構,是一種線性表,是一種物理儲存單元上非連續 非順序的儲存結構。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括儲存資料元素的資料域和儲存下乙個結點位址的指標域兩個部分。相比於線性表順序結構,操作複雜。資料元素的邏輯順序也是通過鍊錶中...

鍊錶之單向有頭不迴圈鍊錶

typedef struct listnode listnode 下面就是一些構造鍊錶的一些 函式,包括刪除,插入,銷毀等 建立乙個節點 listnode buynode typedate x 頭插 就是從頭節點處 插入乙個節點 void slistpushfront listnode pphead...

單向迴圈鍊錶

單向迴圈鍊錶.cpp 定義控制台應用程式的入口點。include stdafx.h include include clinklist.h using namespace std int tmain int argc,tchar argv int n 5 測試空鍊錶 clinklistclist a...