資料結構實驗之連結串列四:有序連結串列的歸併
Problem Description
分別輸入兩個有序的整數序列(分別包含M和N個資料),建立兩個有序的單連結串列,將這兩個有序單連結串列合併成為一個大的有序單連結串列,並依次輸出合併後的單連結串列資料。
Input
第一行輸入M與N的值;
第二行依次輸入M個有序的整數;
第三行依次輸入N個有序的整數。
Output
輸出合併後的單連結串列所包含的M+N個有序的整數。
Sample Input
6 5 1 23 26 45 66 99 14 21 28 50 100
Sample Output
1 14 21 23 26 28 45 50 66 99 100
Hint
不得使用陣列!
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
typedef struct Node{
int data;
struct Node *next;
}node;
void create(node * &head,int m){
node *p,*tail;
head = new Node;
head->next = NULL;
tail = head;
for(int i = 0 ; i < m ;i++){
p = new Node;
scanf("%d",&p->data);
p->next = NULL;
tail->next = p;
tail = p;
}
}
void merge(node * &head1,node * &head2,node * &head){
node *p,*p1,*p2;
p = head;
p->next = NULL;
p1 = head1->next;
p2 = head2->next;
while(p1&&p2){
if(p1->data > p2->data){
p->next = p2;
p = p2;
p2 = p2->next;
}else{
p->next = p1;
p = p1;
p1 = p1->next;
}
}
if(p1){
p->next = p1;
}else{
p->next = p2;
}
}
void show(node * &head){
node *cur;
cur = head->next;
while(cur){
if(cur->next == NULL){
printf("%d\n",cur->data);
}else{
printf("%d ",cur->data);
}
cur = cur->next;
}
}
int main(){
node *head1,*head2,*head;
head1 = new Node;
head2 = new Node;
head = new Node;
int m,n;
scanf("%d %d",&m,&n);
create(head1,m);
create(head2,n);
merge(head1,head2,head);
show(head);
return 0;
}
相關文章
- 資料結構實驗之連結串列六:有序連結串列的建立資料結構
- 資料結構實驗之連結串列二:逆序建立連結串列資料結構
- 資料結構實驗之連結串列九:雙向連結串列資料結構
- 資料結構實驗之連結串列三:連結串列的逆置資料結構
- 資料結構實驗之連結串列五:單連結串列的拆分資料結構
- 資料結構實驗之連結串列一:順序建立連結串列資料結構
- 資料結構之「連結串列」資料結構
- 資料結構之連結串列資料結構
- 資料結構-單連結串列、雙連結串列資料結構
- JS資料結構(四)——連結串列JS資料結構
- 資料結構之連結串列:206. 反轉連結串列資料結構
- 資料結構實驗之連結串列七:單連結串列中重複元素的刪除資料結構
- 資料結構實驗之連結串列八:Farey序列資料結構
- 資料結構實驗:連結串列的應用資料結構
- 資料結構之連結串列篇(單連結串列的常見操作)資料結構
- 資料結構之連結串列【上】資料結構
- 資料結構之單連結串列資料結構
- 資料結構之連結串列操作資料結構
- JAVA資料結構之連結串列Java資料結構
- JavaScript資料結構 之 連結串列JavaScript資料結構
- 反轉連結串列、合併連結串列、樹的子結構
- 資料結構-連結串列資料結構
- 連結串列-資料結構資料結構
- 資料結構 - 連結串列資料結構
- 資料結構--連結串列資料結構
- 資料結構—連結串列資料結構
- 合併兩個有序連結串列
- leetcode:21. 合併兩個有序連結串列(連結串列,簡單)LeetCode
- 【資料結構】連結串列(單連結串列實現+詳解+原碼)資料結構
- 資料結構之迴圈連結串列資料結構
- 資料結構之雙向連結串列資料結構
- 畫江湖之資料結構【第一話:連結串列】單向連結串列資料結構
- 畫江湖之資料結構【第一話:連結串列】雙向連結串列資料結構
- 畫江湖之資料結構 [第一話:連結串列] 單向連結串列資料結構
- 畫江湖之資料結構 [第一話:連結串列] 雙向連結串列資料結構
- php實現基本資料結構之連結串列PHP資料結構
- JavaScript資料結構--連結串列JavaScript資料結構
- 【資料結構之連結串列】詳細圖文教你花樣玩連結串列資料結構