程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度_題目1518:反轉鏈表

九度_題目1518:反轉鏈表

編輯:C++入門知識

九度_題目1518:反轉鏈表


//後插法建立鏈表,然後從第二個元素(若有的話)開始依次插入到頭結點後面從而達到反轉鏈表的效果

題目描述:

輸入一個鏈表,反轉鏈表後,輸出鏈表的所有元素。
(hint : 請務必使用鏈表)
輸入:
輸入可能包含多個測試樣例,輸入以EOF結束。
對於每個測試案例,輸入的第一行為一個整數n(0<=n<=1000):代表將要輸入的鏈表的個數。
輸入的第二行包含n個整數t(0<=t<=1000000):代表鏈表元素。
輸出:
對應每個測試案例,
以此輸出鏈表反轉後的元素,如沒有元素則輸出NULL。
樣例輸入:
5
1 2 3 4 5
0
樣例輸出:
5 4 3 2 1
NULL
#include
#include
using namespace std;
typedef struct LNode
{
    struct LNode *next ;
    int data;
}*Linklist;
Linklist CreateList(Linklist list,int n)
{
    int num=0;
    Linklist p=NULL,q=NULL;
    p=(Linklist)malloc(sizeof(Linklist *));
    list=p;
    p->next=NULL;
    for(int i=0;i>num;
        q->data=num;
        q->next=NULL;
        p->next=q;
        p=q;
 
    }
    return list;
}
Linklist DesendList(Linklist list)
{
    Linklist p=list->next,q=p->next,s=NULL;
    p->next=NULL;
    while(q)//q指向需要插入到頭結點後面的元素
    {
        s=q;
        q=q->next;
        s->next=p;
        list->next=s;
        p=s;
    }
    return list;
}
void TraveseList(Linklist list)
{
    Linklist p=list->next;
    if(p)
    {
        cout<data;
        p=p->next;
    }
    else
    {cout<<"NULL"<data;
        p=p->next;
    }
    cout<>n)
    {
        if(!n){cout<<"NULL"<

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved