创建单链表的过程
(1)声明一个指针P和计数器变量i
LinkList p;//LinkList 为结构体类型名
int i;
(2)初始化一个空链表
/*为了创建数据,这里使用随机数*/
srand(time(0));//srand函数是随机数发生器的初始化函数
*L = (LinkList)malloc(sizeof(Node));//动态内存分配
(3)使得L的头结点指向NULL,即建立一个带头节点的单链表
(*L)->next = NULL;//建立一个头结点
(4)作一个循环
1.生成新节点赋值给P
2.随机生成一数字赋值给P的数据域,使得P指向data
3.将P插入头结点和前一个节点之间(头插法)
for(i=0;i<n;i++)
{
p = (LinkList)malloc(sizeof(Node));//生成一个新节点
p->data = rand()%100+1;//生成100内的随机数
p->next = p;//插入至表头
}
总结
void ListHeadCreate(LinkList *L,int n)
{
LinkList p;//LinkList 为结构体类型名
int i;
/*为了创建数据,这里使用随机数*/
srand(time(0));//srand函数是随机数发生器的初始化函数
*L = (LinkList)malloc(sizeof(Node));//动态内存分配
(*L)->next = NULL;//建立一个头结点
for(i=0;i<n;i++)
{
p = (LinkList)malloc(sizeof(Node));//生成一个新节点
p->data = rand()%100+1;//生成100内的随机数
p->next = p;//插入至表头
}
}