创建带头节点的单向链表,并为各节点数据域赋 0 到 m-1 的值
程序员文章站
2024-03-21 14:18:52
...
#include <stdio.h>
#include <stdlib.h>
typedef struct aa
{ int data;
struct aa *next;
} NODE;
NODE *Creatlink(int n, int m)
{
NODE *h=NULL, *p, *s;
int i;
p=(NODE *)malloc(sizeof(NODE)); //为指针p分配内存
h=p;
p->next=NULL; //使p指向空,即尾部
for(i=1; i<=n; i++)
{ s=(NODE *)malloc(sizeof(NODE)); //为指针s分配内存
s->data=rand()%m; //随机产生0~m-1的整数放入数据域
s->next=p->next; p->next=s; //插入s节点
p=p->next; //p指针指向下一个之指针域
}
return h; //返回链表头指针
}
void outlink(NODE *h)
{
NODE *p;
p=h->next; //指向第一个数据域
printf("\n\nTHE LIST :\n\n HEAD ");
while(p)
{ printf("->%d ",p->data);
p=p->next;
}
printf("\n");
}
void main()
{
NODE *head;
head = Creatlink(8,22);
outlink(head);
system("pause"); //暂停查看结果
}
上一篇: c++ primer 第十章习题
下一篇: Centos7安装Telnet服务