链表

头指针与头结点的异同

头指针为链表的必要元素,指向第一个结点(若有头结点则指向头结点)

头结点为链表的非必要元素(数据域一般存放链表长度)

头插法

p->next = (*L)->next;

(*L)->next = p;

尾插法

void CreateListTill(LinkList *L, int n)

{

LinkList p,r;

int i;

srand(time(0));

*L = (LinkList)malloc(sizeof(Node));

r = *L;//r是指向尾部的结点

for (i = 0; i < n; i++)

{

p = (LinkList)malloc(sizeof(Node));

p->data = rand() % 100 + 1;

r->next = p;

r = p;

}

r->next = NULL;

}

L指的是整个单链表,而r是指向尾结点的变量

循环结束后应将指针置为NULL以便确认尾部

Status ClearList(LinkList *L)

{

LinkList p, q;

p = (*L)->next;//p指向第一个结点

while (p)

{

q = p->next;

free(p);

p = q;

}

(*L)->next = NULL;

return OK;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容