【数据结构】C单链表创建以及删除

 

创建单链表的过程

(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;//插入至表头
}
}

猜你喜欢

转载自blog.csdn.net/weixin_41598714/article/details/106107151