程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 數據結構實驗之鏈表三:鏈表的逆置

數據結構實驗之鏈表三:鏈表的逆置

編輯:C++入門知識

數據結構實驗之鏈表三:鏈表的逆置


數據結構實驗之鏈表三:鏈表的逆置

Time Limit: 1000MS Memory limit: 65536K

題目描述

輸入多個整數,以-1作為結束標志,順序建立一個帶頭結點的單鏈表,之後對該單鏈表的數據進行逆置,並輸出逆置後的單鏈表數據。

輸入

輸入多個整數,以-1作為結束標志。

輸出

輸出逆置後的單鏈表數據。

示例輸入

12 56 4 6 55 15 33 62 -1

示例輸出

62 33 15 55 6 4 56 12

提示

不得使用數組。

來源

示例程序

/*************************************************************************
	> File Name: 數據結構實驗之鏈表三:鏈表的逆置.c
	> Author: ttop5
	> Blog: www.ttop5.net
	> Mail: [email protected]
	> Created Time: 2014年12月10日 星期三 20時57分20秒
 ************************************************************************/
#include
#include

struct node
{
    int data;
    struct node *next;
};
//逆序建立鏈表
struct node *Creat()
{
    struct node *head,*p;
    head=(struct node *)malloc(sizeof(struct node));
    head->next=NULL;
    p=(struct node *)malloc(sizeof(struct node));
    scanf("%d",&p->data);
    while(p->data!=-1)
    {
        p->next=head->next;
        head->next=p;
        p=(struct node *)malloc(sizeof(struct node));
        scanf("%d",&p->data);
    }
    return (head);
}

int main()
{
    struct node *head;
    head=Creat();
    if(head->next!=NULL)
    {
        printf("%d",head->next->data);
        head=head->next;
    }
    while(head->next!=NULL)
    {
        printf(" %d",head->next->data);
        head=head->next;
    }
    printf("\n");
    return 0;
}


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