#include <stdio.h>
#include <stdlib.h>
typedef struct ListNode
{
int data;
struct ListNode *next;
}ListNode;
ListNode* creat_Node(int *arr,int n)
{
ListNode *La = (ListNode *)malloc(sizeof(ListNode));
La -> data = arr[0];
La -> next = NULL;
ListNode *r = La;
for(int i = 1;i < n;++i)
{
ListNode *pa = (ListNode *)malloc(sizeof(ListNode));
pa -> data = arr[i];
pa -> next = NULL;
r -> next = pa;
r = pa;
}
return La;
}
void PrintList(ListNode *La)
{
ListNode *pa = La;
while(pa)
{
printf("%d ",pa -> data);
pa = pa -> next;
}
}
int main()
{
int n = 0;
scanf("%d",&n);
int arr[n];
for(int i = 0;i < n; i++)
scanf("%d",&arr[i]);
ListNode *La = creat_Node(arr,n);
PrintList(La);
return 0;
}
链表的基础操作,定义,构造,尾插法,输出。

京公网安备 11010502036488号