#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<LinkList.h>
void main()
{
int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int i;
LinkList L;
InitList(&L);
for (i = 1; i <= sizeof(a) / sizeof(a[0]); i++)
{
if (InsertList(L, i, a[i - 1]) == 0)
{
printf("位置不合法!");
return;
}
}
DisplayList(L);
ReverseList(L);
DisplayList(L);
}
/*LinkList.h*/
#include "stdio.h"
#include "math.h"
#include "malloc.h"
#include "stdlib.h"
typedef int DataType;
//ListNode是链表的结点类型,LinkList是指向链表的指针类型
//如果定义了 LinkList L;则定义了一个链表,L指向该链表的第一个结点
//不带头结点,链表为空,L=NULL;带头结点,链表为空,L->next = NULL;
typedef struct Node{
DataType data;
struct Node *next;
}ListNode, *LinkList;
//初始化单链表,将单链表置空
//将单链表初始化为空。动态生成一个头结点,并将头结点的指针域置空
//根据typedef定义,LinkList 就是 ListNode* ,即 ListNode 的指针;
//根据InitList函数的形参声明,head 变量是 LinkList 类型的指针,即 ListNode 的二级指针。
//因此,*head 才是LinkLi