//單鏈表結點定義
typedef struct lnodelnode; //定義單鏈表結點型別
//尾插法建立單鏈表
/* +------+--------+-----------+
|頭結點 |原有結點 |新節點的位置 |
+------+--------+-----------+
*/void createlistr(lnode *&c, int a, int n)
r->next = null; //c的尾結點指標域置為null,c建立完成
}//頭插法建立單鏈表
/* +------+-----------+--------+
|頭結點 |新節點的位置 |原有結點 |
+------+-----------+--------+
*/void createlistf(lnode *&c, int a, int n)
}//兩遞增單鏈表歸併成乙個遞增單鏈表
void mergelisttoincreasing(lnode *a, lnode *b, lnode *&c)else
}r->next = null;
if(p != null)
r->next = p;
if(q != null)
r->next = q;
}//兩遞增單鏈表歸併成遞減的單鏈表的演算法
void mergelisttodesending(lnode *a, lnode *b, lnode *&c)else
}//下面這些**與歸併成遞增鍊錶不同,不能像遞增鍊錶一樣直接拼接,需要仍需要乙個乙個插入,用頭插法
while(p != null)
while(q != null)
}//查詢並刪除結點
int findanddelete(lnode *c, int x)
if(p->next == null)
return 0;
else
}
注: 在定義函式的時候,c語言的函式形參不能為定義如下:
void func(int &a)
,也就是c語言不支援定義引用型別的形參,但是c++是支援的。在c語言如果想要傳引用型別的引數,需要在傳實參的時候加上『&』符號,如:func(&a);
,使用c++,可以使得呼叫函式時更加方便。 在測試上述**時要將副檔名改為.cpp
資料結構筆記 單鏈表
順序表 一.順序儲存結構 與對陣列的操作類似,並無太大新知識點,顧略去。二.鏈式儲存結構 單鏈表的儲存不連續,每個儲存單元既儲存資料元素,又儲存後繼元素的位址。因此,節點結構定義 templatestruct node 為了實現基本操作,建立模板 templateclass llist 單鏈表初始化...
天勤考研資料結構 單鏈表操作
定義單鏈表 typedef struct lnodelnode a b皆為有序鍊錶,合併排序到c中 頭插法 void merge lnode a,lnode b,lnode c else if q next null if p null if p next null if q null a b皆為有...
2023年考研資料結構複習 單鏈表
2020年考研資料結構複習 單鏈表 include include include include include malloc.h 單鏈表儲存結構 typedef struct lnode lnode,linklist 頭插法 void createlist l linklist l void c...