單鏈表的學習和實踐

2021-10-07 21:30:35 字數 1030 閱讀 7642

鍊錶是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標實現的。鍊錶由一系列結點組成,結點可以在執行時動態生成,而且由於沒有閒置的記憶體,因此空間效率比陣列高。其插入操作可達到o(1)複雜度,但是查詢或者訪問特定的結點複雜度是o(n)。

節點node類是最基本的儲存單位,乙個資料存在於乙個node物件中,這個需要理解.node類有兩個屬性,乙個是用來存放資料,另乙個是用來存下乙個節點物件.

新增節點:

1. 如果為空:新增到第乙個節點

2. 如果不為空:新增到最後

3. 如果指定位置,則該節點指向一下節點,上乙個節點指向該節點

注意:鍊錶中第乙個結點是頭結點,它一般不存放資料,只是使用該節點的指標成員,第二結點物件才是有效結點,才開始存放資料.

//找到尾結點,在尾結點增加新結點

temp.nextnode = newnode;}}

public void adddata(object data, int index) throws exception

//新建結點存資料

node n = new node(data);

n.nextnode = temp.nextnode;//先把新結點的下乙個結點設為當前temp結點的下乙個結點,再把temp的下乙個結點設為新結點,不然會導致無限迴圈

temp.nextnode = n;

}public int getlength()

return len;

}public void display() //注意:因為第二個結點才是有效結點,所以從第二個結點開始顯示資料

}

單鏈表的簡單實踐

1.演算法描述 資料結構與演算法分析c 版 3.11 實現乙個有序單鏈表,要求能返回鍊錶大小,列印鍊錶,檢測x是否在鍊錶 在則刪除,否則新增 2.實現 list.h ifndef list h define list h include templatestruct node templatecla...

實踐之單鏈表

define crt secure no warnings include include include include linklist.h using namespace std 自定義資料型別 typedef struct person person 列印函式 void myprint vo...

單鏈表的學習

鍊錶是一種很重要的資料結構,它由兩部分組成,第乙個部分是我們要儲存的資料,第二個部分是指向下乙個儲存單元的指標。鍊錶在使用中有順序表無法比擬的靈活性,免去了儲存空間不夠,又有可能浪費的尷尬。單鏈表有乙個頭指標phead,當我們沒有資料要儲存的時候它指向null,當我們有資料的時候它指向第一塊儲存單元...