3581 - 线性链表建立及正序输出
时间限制 : 1 秒
内存限制 : 128 MB
输入一个正整数序列,遇负数时停止,建立一个线性链表存储读入的数据,将各个元素按顺序输出。
题目输入
题目输出
输入/输出样例
输入格式
1 2 3 4 5 -1
输出格式
1 2 3 4 5
C语言解答
#include<stdio.h> #include<stdlib.h> typedef struct tagNODE { int number; struct tagNODE* next; }node,*linklist; void InputAndCreate(linklist* L) { linklist p,s; int n; p = *L = (linklist)malloc(sizeof(node)); while (scanf("%d",&n), n >= 0) { s = (linklist)malloc(sizeof(node)); s->number = n; p->next = s, p = s; } p->next = NULL; } void Output(linklist L) { linklist p; p = L->next; while (p != NULL) { printf("%d", p->number); p = p->next; if (p != NULL) { printf(" "); } } } int main() { linklist list; InputAndCreate(&list); Output(list); return 0; }
C++解答
#include <iostream> #include <deque> using namespace std; int main() { deque<int> q; int x; while (cin >> x) { if (x == -1) break; q.push_back(x); } for (int i = 0; i < q.size(); i ++) cout << q[i] << ' '; return 0; }