3581 - 线性链表建立及正序输出

通过次数

0

提交次数

0

时间限制 : 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;
}