您的位置:首页 > 理论基础 > 数据结构算法

数据结构实验之链表二:逆序建立链表

2017-01-12 21:00 190 查看
Problem Description

输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。

Input

第一行输入整数N;;

第二行依次输入N个整数,逆序建立单链表。

Output

依次输出单链表所存放的数据。

Example Input

10
11 3 5 27 9 12 43 16 84 22


Example Output

22 84 16 43 12 9 27 5 3 11


Hint

不能使用数组!

Author

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<bits/stdc++.h>
#include <iostream>
#include <algorithm>
#define maxn 10100

using namespace std;

typedef struct list
{
int data;
struct list *next;
}sqlist;
int main()
{
int n;
scanf("%d", &n);
sqlist *head, *mail;
head=(sqlist *)malloc(sizeof(sqlist));
head->data=0;
head->next=NULL;
mail=head;
while(n--)
{
sqlist *p;
p=(sqlist *)malloc(sizeof(sqlist));
p->next=NULL;
scanf("%d", &p->data);
p->next=mail->next;
mail->next=p;
}
mail=head;
int top=1;
while(mail->next!=NULL)
{
if(top)top=0;
else printf(" ");
printf("%d", mail->next->data);
mail=mail->next;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: