單鏈表的基本操作(建立 插入 刪除 )

2021-08-08 07:14:27 字數 1509 閱讀 5826

單鏈表的定義和表示:

線性表鏈式儲存結構的特點是:用一組任意的儲存單元儲存線性表的資料元素(這組儲存單元可以是連續的,也可以是不連續的)。因此,為了表示每個資料元素ai與其直接後繼資料元素ai+1之間的邏輯關係,對資料元素ai來說,除了儲存其本身的資訊之外,還需儲存乙個知識其直接後繼的資訊(即直接後繼的儲存位置)。這兩部分資訊組成資料元素ai的儲存映像,稱為結點(node)。它包括兩個域:其中儲存資料元素資訊的域稱為資料域;儲存直接後繼儲存位置的域稱為指標域。指標域中儲存的資訊稱作指標。n個結點鏈結成乙個鍊錶,即為線性表的鏈式儲存結構。又由於此鍊錶的每個節點中只包含乙個指標域,故又稱為線性表單鏈表

個人理解:

單鏈表可以說是資料結構的基礎,只有熟練掌握了單鏈表的建立、插入等操作,才能在以後學習棧、佇列等等資料結構時游刃有餘。

下面是對單鏈表的一些基礎操作的**:

#include

typedef struct node*linklist, lnode;

void createlist(linklist &head); //建立單鏈表

void listdelete(linklist &head, int i);//刪除第i位置的結點

void listinsert(linklist &head, int i);//在第i個位置插入乙個結點

void printlist(linklist head);//遍歷單鏈表

int listlength(linklist head);//鍊錶長度

void destroylist(linklist &head);//銷毀鍊錶

int main()

void createlist(linklist &head)

rear->next = null;

return ;

}void listdelete(linklist &head, int i)

if(!pre || i < 1)

p = pre->next;

pre->next = p->next;

delete p;

}void listinsert(linklist &head, int i)

if(!pre || i < 0)

p = new node;

p->num = 99;

p->next = pre->next;

pre->next = p;

}void printlist(linklist head)

while(p)

printf("\n\n");

}int listlength(linklist head)

return i;

}void destroylist(linklist &head)

}

單鏈表基本操作 建立 插入 刪除 獲取

include include typedef struct lnodelnode,linklist 建立乙個含有n個元素的單鏈表 lnode createlist int n else p2 next null return head 初始化乙個空鍊錶 lnode initlink 列印鍊錶 vo...

單鏈表的基本操作 單鏈表的建立 插入 刪除結點等

1 單鏈表的建立 2 建立結點 3 列印結點 4 鍊錶的插入 頭插法 5 鍊錶的刪除 指定位置刪除 include include include 結構體 結點由資料域 指標域構成 struct node 建立鍊錶 表頭 struct node createlist 建立結點 struct node...

單鏈表的基本操作 單鏈表的建立 插入 刪除結點等

1 單鏈表的建立 2 建立結點 3 列印結點 4 鍊錶的插入 頭插法 5 鍊錶的刪除 指定位置刪除 適合新手初步認識學習單鏈表的基本操作 include include include 結構體 結點由資料域 指標域構成 struct node 建立鍊錶 表頭 struct node createli...