單鏈表的整表建立

2021-07-15 17:05:49 字數 1378 閱讀 1632

1、順序儲存結構的建立,其實就是乙個陣列的初始化,即宣告乙個固定型別和大小的陣列並賦值的過程。

而單鏈表和順序儲存結構就不一樣,它不像順序儲存結構那麼幾種,它可以很散,是一種動態結構。對於每個鍊錶來說,

它所占用空間的大小和位置是不需要預先分配劃定的,可以根據系統的情況和實際需求即時生成。

所以建立單鏈表的過程就是乙個動態生成鍊錶的過程。即從「空表」的初始狀態起,依次建立各元素結點,並逐個插入鍊錶。

---- 單鏈表整表建立的演算法思路:

-- 1)宣告一結點p和計數器變數 i ;

-- 2)初始化一空鍊錶l;

-- 3)讓l的頭結點的指標指向null,即建立乙個帶頭結點的單鏈表;

-- 4)迴圈:生成一新結點賦值給p     隨機生成一數字賦值給p的資料域p->data   將p插入到頭結點與前一新結點之間。

實現**演算法如下:

#include #include using namespace std;

typedef int elemtype;

typedef struct node

node,*linklist;

//typedef struct node *linklist;

//typedef node *linklist;

/* 隨機產生n個元素的值,建立帶表頭結點的單鏈線性表l(頭插法)*/

void createlist(linklist *l,int n)

}

這段演算法**裡,我們其實用的是插隊的辦法,就是始終讓新結點在第一的位置。可以把這種演算法簡稱為頭插法

也可以每次把新結點都插在終端結點的後面,按照排隊時的正常思維,所謂的先來後到,這種演算法稱之為尾插法

實現**演算法如下:

#include #include using namespace std;

typedef int elemtype;

typedef struct node

node,*linklist;

//typedef struct node *linklist;

//typedef node *linklist;

/* 隨機產生n個元素的值,建立帶表頭結點的單鏈線性表l(尾插法)*/

void createlist(linklist *l,int n)

r->link = null;

}

l是指整個單鏈表,而 r 是指向尾結點的指標,r是會隨著迴圈不斷的變化,l則是隨著迴圈增長為乙個多結點的鍊錶。

單鏈表的整表建立

單鏈表整表建立的演算法思路 1 宣告一節點p和計數變數i 2 初始化一空鍊錶l 3 讓l的頭節點的指標指向null,即建立乙個帶頭節點的單鏈表 4 迴圈 實現 演算法如下 隨機產生n個元素的值,建立帶表頭節點的單鏈線性表l 頭插法 void creatlisthead linklist l,int ...

單鏈表整表建立和整表刪除

對於每個鍊錶來說,它所占用空間的大小和位置是不需要預先分配劃定的,可以根據系統的情況和實際的需求即使生成。所以建立單鏈表的過程就是乙個動態生成鍊錶的過程。即從 空表 的初始狀態開始,依次建立各元素結點,並逐個插入鍊錶。單鏈表整表建立的演算法思路 1 宣告一指標p和計數器變數i 2 初始化一空鍊錶l ...

單鏈表的整表建立和刪除 四

單鏈表的整表建立和刪除 一 單鏈表的整表建立 建立單鏈表的過程是乙個動態生成鍊錶的過程,從 空表 的初始狀態起,依次建立各元素結點並逐個插入鍊錶。單鏈表整表建立的演算法思路如下 1 宣告一結點p 2 初始化一空鍊錶l 3 建立乙個帶頭結點的單鏈表,即讓l的頭結點的指標指向null。4 迴圈實現後繼結...