/*单链表的整表创建*/
/********算法思路************
*1.创建链表单结点;
*2.声明一指针p和计数器变量i;
*3.让L的头结点的指针指向NULL,即建立一个带头结点的单链表;
*4.循环:
* 生成一新结点并赋值给p;
* 随机生成一数字赋值给p的数据域p->data;
* 将p插入链表之中(头插法和尾插法);
****************************/
#define OK 1
#define ERROR 0
typedef int ElemType;/*定义数据元素类型,暂定为int型*/
typedef int Status;/*定义程序状态返回值*/
/*定义一个链表结点*/
typedef struct LNode{
ElemType Data;
struct LNode *Next;
}Node;
typedef struct LNode *List;/*定义list*/
/*头插法
*随机生成n个值,建立带表头的单链线性表L*/
Status CreatListHead(List L,int n){
int i,List p;
srand((unsigned)time(0));/*初始化随机数种子*/
L = (List)malloc(sizeof()Node);
L->Next = NULL;/*先建立一个带头结点的单链表*/
if(!L)
return ERROR;
for(i = 0;i<n;i++){
p = (List)malloc(sizeof(Node));/*生成新结点*/
p->data = rand()%100+1;/*随机生成100以内的数字*/
p->Next = L->Next;
L->Next = p;/*将p插入L头结点的后边*/
}
return OK;
}
单链表的整表创建--头插法
最新推荐文章于 2022-10-23 23:25:03 发布