單鏈表的頭插法和尾插法建立及兩鍊錶的融合

2021-08-18 10:18:42 字數 1112 閱讀 5025

#include 

#include

#include

#define maxsize 100

using namespace std;

typedef struct lnodelnode;

void createlnode1(lnode *&p,int arr,int n)

r->next=null;

}void createlnode2(lnode *&p,int arr,int n)

} void printlink(lnode *p)

}void merge1(lnode *p,lnode *q,lnode *&l)else

}if(r!=null)

if(s!=null)

} void merge2(lnode *a,lnode *b,lnode *&c)else

}while(p!=null)

while(q!=null)

} bool compare(int a,int b)

int main(int argc, char** argv) ;

int arr2=;

sort(arr1,arr1+6); //sort函式預設是公升序. . .

sort(arr2,arr2+5,compare);//預設是公升序,要想它降序則要重寫compare

lnode *p,*q,*l,*c;

createlnode1(p,arr1,6);

createlnode2(q,arr2,5);//因為是頭插法,所以給的陣列必須是降序

printlink(p);//列印p鍊錶

printf("\n");

printlink(q);//列印q鍊錶

printf("\n");

// merge1(p,q,l);//把p表和q表融合成遞增鍊錶l

// printlink(l);

//printf("\n");

merge2(p,q,c);//把p表和q表融合成遞減鍊錶c

printlink(c);

printf("\n");

return

0;}

頭插法和尾插法建立單鏈表

頭插法和尾插法建立單鏈表 include using namespace std typedef int elemtype typedef struct lnode linklist 頭插法建表 從尾部乙個乙個往前插入 void createlisthead linklist l,elemtype ...

頭插法和尾插法建立單鏈表

頭插法建立單鏈表 include include typedef struct lnodenode,linklist linklist headinsert linklist 頭插法建立單鏈表 void output linklist 遍歷輸出 int main void 頭插法建立單鏈表 link...

採用頭插法和尾插法建立單鏈表

面說一下如果用c語言建立單鏈表,分為頭插法和尾插法兩種。該方法從乙個空表開始,生成新結點,並將讀取到的資料存放到新結點的資料域中,然後將新結點插入到當前鍊錶的表頭,即頭結點之後,如圖2 4所示。圖2 4 頭插法建立單鏈表 頭插法建立單鏈表的演算法如下 複製 純文字複製 linklist creatl...