头插法
- //随机产生n个元素的值,建立代表头结点的单链线性表L(头插法)
- void CreateListHead(LinkList * L,int n)
- {
- LinkList p;
- int i;
- srand(time(0)); //随机产生数
- *L = (LinkList)malloc(sizeof(Node));
- (*L)->next = NULL; //先建立一个带头结点的单链表
- for (i=0;i<n;i++)
- {
- p = (LinkList)malloc(sizeof(Node)); //生成新结点
- p->data = rand()%100+1; //随机生成1001以内的数字
- p->next = (*L)->netx;
- (*L)->next = p; //插入到表头
- }
- }
尾插法:
-
- void CreateListTail(LinkList * L,int n)
- {
- LinkList p,r;
- int i;
- srand(time(0)); //随机产生数
- *L = (LinkList)malloc(sizeof(Node));
- r = *L;
- for (i=0;i<n;i++)
- {
- p = (LinkList)malloc(sizeof(Node)); //生成新结点
- p->data = rand()%100+1; //随机生成1001以内的数字
- r->next = p; //将表尾终端结点指向新结点
- r = p; //将当前新结点定义为表尾终端结点
- }
- r->next = NULL; //表示当前链表结束
- }