資料結構之鍊錶

2021-09-24 23:37:48 字數 730 閱讀 4600

鍊錶是一種稍微負複雜一點的資料結構,它相較於陣列而言

是一種不連續的線性表。

對於陣列來說:陣列支援隨機訪問,時間複雜度o(1),而鍊錶隨機訪問第n個

資料的時間複雜度是o(n),不過需要注意的是,陣列隨機訪問的時間複雜度才是

o(1)。

對於鍊錶而言:由於鍊錶使用的記憶體空間是不連續的,所以我們可以更加有效的

利用記憶體碎片。而且對於鍊錶來說,刪除其中的任意乙個資料的時間複雜度是o(1),

新增同上。而陣列的話是o(n)。

**實現如下:

我將以乙個儲存string的鍊錶為例子

#include#includeusing namespace std;

class node

;class mylist

~mylist();

void creatlist();

void printlist();

private:

node *head;//指標,得繫結記憶體空間

};void mylist::creatlist()

delete input;//注意每次結束時應該deleteinput.

node = null;

}void mylist::printlist()

}mylist::~mylist()

}int main()

至於其他操作我會在以後更新.

資料結構 表之煉表

頭插法建立 尾插法建立 顯示 銷毀 include include using namespace std typedef int elemtype typedef struct lnode linklist void createlinklistf linklist l,elemtype a,in...

資料結構之鍊錶

頭結點 第乙個有效結點之前的那個結點 頭結點並不存有效資料 加頭結點的目的主要是為了方便對鍊錶的操作 頭指標 指向頭結點的指標變數 尾指標 指向尾節點的指標變數 如果希望通過乙個函式對鍊錶進行處理,只需要乙個引數 頭指標 首先要定義乙個單鏈表儲存結構 然後建立乙個空表,即初始化,我寫的這個提前設定好...

資料結構之鍊錶

鍊錶是一種基本的資料結構型別,它由乙個個結點組成。每乙個結點包括乙個資料的儲存和乙個指向下乙個結點的引用。在這個定義中,結點是乙個可能含有任意型別資料的抽象實體,它所包含的指向結點的應用顯示了它在構造鍊錶之中的作用。和遞迴程式一樣,遞迴資料結構的概念一開始也令人費解,但其實它的簡潔性賦予了它巨大的價...