题目内容:
本题实现链表的构造,采用表头插入法构造链表,输出表中所有元素。
输入格式:
输入n个整数,以空格分隔,当输入值为0时表示输入结束。
输出格式:
输出链表中的所有元素,以逗号(英文状态)分隔。
输入样例:
1 2 3 0
输出样例:
3,2,1
时间限制:500ms内存限制:32000kb
#include<stdio.h>
#include<stdlib.h>
typedef struct Node
{
int data;
Node *next;
}Node;
void insert_head(Node *head,int x)
{
Node *p,*s;
p = head;
s = (Node*)malloc(sizeof(Node));
s->data = x;
s->next = p->next;
p->next = s;
}
void print(Node* head)
{
Node* p = head->next;
while(p)
{
if(p->next == NULL)
{
printf("%d\n",p->data);
}
else
printf("%d,",p->data);
p = p->next;
}
}
int main()
{
Node *head = (Node*)malloc(sizeof(Node));
head->next = NULL;
int tmp_data;
scanf("%d",&tmp_data);
while(tmp_data != 0)
{
insert_head(head,tmp_data);
scanf("%d",&tmp_data);
}
print(head);
return 0;
}
代码提交时如果不成功,可以用C++提交。