合併列表
線性表鏈式儲存實驗3 有公升序鏈式儲存的順序表la,存放字元『a』,『c』, 『e』, 『g』 和lb存放字元『a』, 『b』,『d』,『f』。現通過合併演算法,將兩個鍊錶合併,要求合併後仍為非降序,然後輸出合併後的鍊錶。 答案要求: 1、將執行結果截圖貼在答案框,注意不要全屏截圖,以保證清晰 2、將main()方法的**貼入答案框 3、將整個專案的**壓縮,以附件形式上傳
common.c
#include
#include
#include
#include//用於設定隨機數種子用
#define ok 1
#define error 0
#define true 1
#define false 0
#include"common.h"
typedef char elemtype; //鍊錶資料結點中為字元型別
//鍊錶結構定義
typedef struct node
node,*linklist; //兩個型別名字:node用於定義結點,linklist用於定義鍊錶
//演算法功能:初始化單鏈表
void initlist(linklist *l);
//演算法功能:輸出鍊錶內容
void printlist(linklist l);
//演算法功能:頭插法建立單鏈表
void createfromhead(linklist l);
//演算法功能:尾插法建立單鏈表
void createfromtail(linklist l);
//演算法功能:在單鏈表l中查詢第i個結點
node * get(linklist l,int i);
//演算法功能:在單鏈表l中查詢值為key的結點
node * locate(linklist l,elemtype key);
//演算法功能:單鏈表插入操作演算法 ,在第i個位置插入e
void inslist(linklist l,int i,elemtype e);
//演算法功能:刪除單鏈表中第i個結點
int dellist(linklist l,int i,elemtype *e);
//演算法:兩個有序單鏈表的合併
linklist mergelinklist(linklist la, linklist lb);
#include"linklist.h"
//對單鏈表進行初始化
void initlist(linklist *l)
//演算法功能:輸出鍊錶內容
void printlist(linklist l)
}//尾插法建立單鏈表
void createfromtail (linklist l)
else}}
//演算法:兩個有序單鏈表的合併
linklist mergelinklist(linklist la, linklist lb)
else
} //如果la或lb有剩下的結點,則直接鏈入lc(r)後
if(pa!=null)
r->next=pa;
else
r->next=pb;
free(lb) ; //釋放lb頭結點,
return(lc);}
#include"linklist.h"
//對單鏈表進行初始化
void initlist(linklist *l)
//演算法功能:輸出鍊錶內容
void printlist(linklist l)
}//尾插法建立單鏈表
void createfromtail (linklist l)
else}}
//演算法:兩個有序單鏈表的合併
linklist mergelinklist(linklist la, linklist lb)
else
} //如果la或lb有剩下的結點,則直接鏈入lc(r)後
if(pa!=null)
r->next=pa;
else
r->next=pb;
free(lb) ; //釋放lb頭結點,
return(lc);
繼承與多型的應用 通用鍊錶的實現
繼承與多型的應用 通用鍊錶的實現 1.掌握繼承與多型 2.掌握純虛函式與抽象類以及介面的含義 3.通過多型的形式,建立與型別無關的通用鍊錶 include include using namespace std class object virtual object public virtual v...
C 實現順序表與鍊錶
c 實現順序表與鍊錶 一 順序表 之前已經對順序表有了了解,需要注意的是讀者如果疑惑以下 沒有實現頭插與頭刪,是因為 中任意插入與刪除這兩個函式可以實現此功能。下面有測試 讀者也可以自行測試。如下 includeusing namespace std includetypedef int datat...
鍊錶應用 快速刪除與倒置
快速刪除乙個結點,常規刪結點要找到前乙個結點,如果給出這個結點的指標,可以採取拷貝下乙個結點內容,釋放下乙個結點 單鏈表的倒序反轉,只需將p指向的結點不斷掛到頭結點,將p不斷向下移動即可 include includetypedef struct node node typedef node pno...