7-4 单链表的创建及遍历 (15 分)
读入n值及n个整数,建立单链表并遍历输出。
输入格式:
读入n及n个整数。
输出格式:
输出n个整数,以空格分隔(最后一个数的后面没有空格)。
样例">输入样例:
在这里给出一组输入。例如:
2
10 5
输出样例:
在这里给出相应的输出。例如:
10 5
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
int data;
struct node*next;
}linklist;
linklist *createList(int n){//构建一个带参数的创建链表的函数
linklist *head;//用来查看头结点
linklist *l1,*l2;
head=(linklist*)malloc(sizeof(linklist));
l2=head;
for(int i=0;i<n;i++){
l1=(linklist*)malloc(sizeof(linklist));//创建一个链表用来存储输入的数据
scanf("%d",&l1->data);
l2->next=l1;
l2=l2->next;
}
l2->next=NULL;//设置链表的结束
return head;
}
int main(){
int n;
scanf("%d",&n);
if(n<=0) return 0;
linklist *l3=createList(n);
l3=l3->next;//用来获取头结点指向的下一个节点的数据
printf("%d",l3->data);
while(l3->next!=NULL){//判断链表是否结束
l3=l3->next;//指向下一个节点
printf(" %d",l3->data);
}//当退出循环表示链表全部访问完成
return 0;
}