/* 头插法创建单链表示例 */指针
void CreateListHead(LinkList *L, int n)
{
LinkList p;
int i;变量
srand(time(0)); // 初始化随机数种子随机数
*L = (LinkList)malloc(sizeof(Node));
(*L)->next = NULL;List
for( i=0; i < n; i++ )
{
p = (LinkList)malloc(sizeof(Node)); // 生成新结点
p->data = rand()%100+1;
p->next = (*L)->next;
(*L)->next = p;
}
}循环
/* 尾插法创建单链表演示 */数据类型
void CreateListTail(LinkList *L, int n)
{
LinkList p, r;
int i;im
srand(time(0));
*L = (LinkList)malloc(sizeof(Node));
r = *L;链表
for( i=0; i < n; i++ )
{
p = (Node *)malloc(sizeof(Node));
p->data = rand()%100+1;
r->next = p;
r = p; // 备注:初学者可能很难理解这句,重点解释。
}next
r->next = NULL;
}数据
最后两句其实就是多增长了一个Node数据类型的变量,用它不停指向最后一个节点。而后在下一次循环中r又帮忙把最后一个节点的Next指针指向新的节点p