資料結構實驗之連結串列三:連結串列的逆置
Problem Description
輸入多個整數,以-1作為結束標誌,順序建立一個帶頭結點的單連結串列,之後對該單連結串列的資料進行逆置,並輸出逆置後的單連結串列資料。
Input
輸入多個整數,以-1作為結束標誌。
Output
輸出逆置後的單連結串列資料。
Sample Input
12 56 4 6 55 15 33 62 -1
Sample Output
62 33 15 55 6 4 56 12
Hint
不得使用陣列。
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
typedef struct Node{
int data;
struct Node *next;
}node;
void creat(node * &head){
node *p,*tail;
head = new Node;
head->next = NULL;
tail = head;
while(1){
p = new Node;
scanf("%d",&p->data);
if(p->data == -1){
break;
}
p->next = NULL;
tail->next = p;
tail = p;
}
}
void reverse(node * &head){
node *p,*q;
p = head->next;
head->next = NULL;
q = p->next;
while(p){
p->next = head->next;
head->next = p;
p = q;
if(q)
q = q->next;
}
}
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 *head;
head = new Node;
creat(head);
reverse(head);
show(head);
return 0;
}
相關文章
- 資料結構實驗之連結串列二:逆序建立連結串列資料結構
- 資料結構實驗之連結串列九:雙向連結串列資料結構
- 資料結構實驗之連結串列五:單連結串列的拆分資料結構
- 資料結構實驗之連結串列六:有序連結串列的建立資料結構
- 資料結構實驗之連結串列一:順序建立連結串列資料結構
- 資料結構實驗之連結串列四:有序連結串列的歸併資料結構
- 逆置連結串列
- 資料結構之連結串列資料結構
- 資料結構之「連結串列」資料結構
- 資料結構-單連結串列、雙連結串列資料結構
- 資料結構之連結串列:206. 反轉連結串列資料結構
- 資料結構實驗之連結串列七:單連結串列中重複元素的刪除資料結構
- 資料結構實驗之連結串列八:Farey序列資料結構
- 資料結構之連結串列篇(單連結串列的常見操作)資料結構
- 資料結構實驗:連結串列的應用資料結構
- 資料結構之單連結串列資料結構
- 資料結構之連結串列操作資料結構
- JAVA資料結構之連結串列Java資料結構
- JavaScript資料結構 之 連結串列JavaScript資料結構
- 資料結構之連結串列【上】資料結構
- 資料結構 - 連結串列資料結構
- 連結串列-資料結構資料結構
- 資料結構—連結串列資料結構
- 資料結構--連結串列資料結構
- 資料結構-連結串列資料結構
- 55-將單連結串列原地逆置(有頭結點的單連結串列)
- 【資料結構】連結串列(單連結串列實現+詳解+原碼)資料結構
- 資料結構之迴圈連結串列資料結構
- 資料結構之雙向連結串列資料結構
- 畫江湖之資料結構【第一話:連結串列】單向連結串列資料結構
- 畫江湖之資料結構【第一話:連結串列】雙向連結串列資料結構
- 畫江湖之資料結構 [第一話:連結串列] 單向連結串列資料結構
- 畫江湖之資料結構 [第一話:連結串列] 雙向連結串列資料結構
- php實現基本資料結構之連結串列PHP資料結構
- JavaScript資料結構--連結串列JavaScript資料結構
- 【資料結構之連結串列】詳細圖文教你花樣玩連結串列資料結構
- 資料結構--陣列、單向連結串列、雙向連結串列資料結構陣列
- JavaScript資料結構之連結串列--設計JavaScript資料結構