單鏈表的定義和表示:
線性表鏈式儲存結構的特點是:用一組任意的儲存單元儲存線性表的資料元素(這組儲存單元可以是連續的,也可以是不連續的)。因此,為了表示每個資料元素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...