数据结构实验之链表一:顺序建立链表

TimeLimit: 1000MS Memory Limit: 65536KB

SubmitStatistic

ProblemDescription

输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。

Input

第一行输入整数的个数N
第二行依次输入每个整数。

Output

输出这组整数。

ExampleInput

8

1256 4 6 55 15 33 62

ExampleOutput

1256 4 6 55 15 33 62

Hint

不得使用数组!

Author

数据结构实验之链表一:顺序建立链表

TimeLimit: 1000MS Memory Limit: 65536KB

SubmitStatistic

ProblemDescription

输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。

Input

第一行输入整数的个数N
第二行依次输入每个整数。

Output

输出这组整数。

ExampleInput

8

1256 4 6 55 15 33 62

ExampleOutput

1256 4 6 55 15 33 62

Hint

不得使用数组!

Author

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct node
{
  int a;
  struct node *next;

};
struct node*creat(int n)
{
  struct node *head,*p,*tail;
  head = (struct node*)malloc(sizeof(struct node));
  head->next =NULL;
  tail = head;
  for(int i=1;i<=n;i++)
  {
     p = (struct node*)malloc(sizeof(struct node));

     scanf("%d",&p->a);
     p->next =NULL;
     tail->next = p;
     tail = p;



  }
  return head;


}
void show(struct node *head)
{
    struct node *p;
    p = head->next;
    while(p!=NULL)
    {
       if(p->next!=NULL)
       {
         printf("%d ",p->a);
       }
       else
       {
        printf("%d\n",p->a);
       }
       p = p->next;

    }


}
int main()
{

  int n;
  scanf("%d",&n);
  struct node *head;
  head= creat(n);

  show(head);
  return 0;


}


/***************************************************
User name: jk160505徐红博
Result: Accepted
Take time: 0ms
Take Memory: 104KB
Submit time: 2017-01-12 15:23:50
****************************************************/