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

2021-07-04 13:07:15 字數 1236 閱讀 2029

單鏈表的整表建立和刪除

一、單鏈表的整表建立

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

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

1)宣告一結點p 。2)初始化一空鍊錶l 。3)建立乙個帶頭結點的單鏈表,即讓l的頭結點的指標指向null。4)迴圈實現後繼結點的賦值和操作。

單鏈表建立的方法有兩種:頭插法和尾插法。

1、頭插法—把新加進的元素放在表頭後的第乙個位置。具體操作就是首先是新結點的next指向頭結點之後,表頭的next指向新結點。

頭插法的程式如下:

typedef float elemtype;

typedef struct node

node;

typedef struct node* linklist;

void createlinklist(linklist l,int n)

}

頭插法建立的鍊錶,生成的鍊錶中結點的次序和輸入的順序相反。

2、尾插法—新結點都插入到最後。

尾插法程式如下:

typedef float elemtype;

typedef struct node

node;

typedef struct node* linklist;

void createlinklist(linklist l,int n)

r->next = null;

}

二、單鏈表的整表的刪除

單鏈表整表刪除的演算法思路如下:

1)宣告結點p和q。2)將第乙個結點賦值給p,下一結點賦值給q。3)迴圈執行釋放p和將q賦值給p的操作。

單鏈表整表刪除的**如下:

#define bingo 1

#define error 0

typedef float elemtype;

typedef struct node

node;

typedef struct node* linklist;

int clearlist(linklist l)

l->next = null;

return bingo;

}

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

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

單鏈表的整表建立

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

單鏈表的整表建立

1 順序儲存結構的建立,其實就是乙個陣列的初始化,即宣告乙個固定型別和大小的陣列並賦值的過程。而單鏈表和順序儲存結構就不一樣,它不像順序儲存結構那麼幾種,它可以很散,是一種動態結構。對於每個鍊錶來說,它所占用空間的大小和位置是不需要預先分配劃定的,可以根據系統的情況和實際需求即時生成。所以建立單鏈表...