單鏈表的整表建立和刪除
一、單鏈表的整表建立
建立單鏈表的過程是乙個動態生成鍊錶的過程,從「空表」的初始狀態起,依次建立各元素結點並逐個插入鍊錶。
單鏈表整表建立的演算法思路如下:
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 順序儲存結構的建立,其實就是乙個陣列的初始化,即宣告乙個固定型別和大小的陣列並賦值的過程。而單鏈表和順序儲存結構就不一樣,它不像順序儲存結構那麼幾種,它可以很散,是一種動態結構。對於每個鍊錶來說,它所占用空間的大小和位置是不需要預先分配劃定的,可以根據系統的情況和實際需求即時生成。所以建立單鏈表...