資料結構實驗之連結串列六:有序連結串列的建立
Problem Description
輸入N個無序的整數,建立一個有序連結串列,連結串列中的結點按照數值非降序排列,輸出該有序連結串列。
Input
第一行輸入整數個數N;
第二行輸入N個無序的整數。
Output
依次輸出有序連結串列的結點值。
Sample Input
6 33 6 22 9 44 5
Sample Output
5 6 9 22 33 44
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 sort(node * &head){
node *cur,*p;
int temp;
for(cur = head->next;cur != NULL;cur = cur->next){
for(p = cur->next;p != NULL;p = p->next){
if(cur->data > p->data){
temp = cur->data;
cur->data = p->data;
p->data = temp;
}
}
}
}
void print(node * &head){
node *p;
p = head->next;
while(p){
if(p->next == NULL){
printf("%d\n",p->data);
}else{
printf("%d ",p->data);
}
p = p->next;
}
}
int main(){
node *head;
int n;
scanf("%d",&n);
create(head,n);
sort(head);
print(head);
return 0;
}
相關文章
- 資料結構實驗之連結串列四:有序連結串列的歸併資料結構
- 資料結構實驗之連結串列二:逆序建立連結串列資料結構
- 資料結構實驗之連結串列一:順序建立連結串列資料結構
- 資料結構實驗之連結串列九:雙向連結串列資料結構
- 資料結構實驗之連結串列三:連結串列的逆置資料結構
- 資料結構實驗之連結串列五:單連結串列的拆分資料結構
- 資料結構之「連結串列」資料結構
- 資料結構之連結串列資料結構
- 資料結構實驗之連結串列八:Farey序列資料結構
- 資料結構實驗之連結串列七:單連結串列中重複元素的刪除資料結構
- 資料結構實驗:連結串列的應用資料結構
- 資料結構之連結串列篇(單連結串列的常見操作)資料結構
- JavaScript資料結構 之 連結串列JavaScript資料結構
- 資料結構之連結串列【上】資料結構
- 資料結構之連結串列操作資料結構
- JAVA資料結構之連結串列Java資料結構
- 資料結構之單連結串列資料結構
- 資料結構-單連結串列、雙連結串列資料結構
- 資料結構-連結串列資料結構
- 資料結構 - 連結串列資料結構
- 連結串列-資料結構資料結構
- 資料結構--連結串列資料結構
- 資料結構—連結串列資料結構
- 資料結構之連結串列:206. 反轉連結串列資料結構
- 【資料結構】連結串列(單連結串列實現+詳解+原碼)資料結構
- 資料結構之單連結串列的建立與刪除資料結構
- 資料結構之迴圈連結串列資料結構
- 資料結構之雙向連結串列資料結構
- 畫江湖之資料結構【第一話:連結串列】單向連結串列資料結構
- 畫江湖之資料結構【第一話:連結串列】雙向連結串列資料結構
- 畫江湖之資料結構 [第一話:連結串列] 單向連結串列資料結構
- 畫江湖之資料結構 [第一話:連結串列] 雙向連結串列資料結構
- php實現基本資料結構之連結串列PHP資料結構
- JavaScript資料結構--連結串列JavaScript資料結構
- 資料結構--陣列、單向連結串列、雙向連結串列資料結構陣列
- 【資料結構之連結串列】詳細圖文教你花樣玩連結串列資料結構
- 連結串列-單連結串列實現
- Redis基礎資料結構之連結串列Redis資料結構