C语言—链表的创建

来源:互联网 发布:电脑透视软件 编辑:程序博客网 时间:2024/05/20 01:46

基本的链表创建思想


最近在学习结构体,用了一天时间做了一个简易的坐标管理系统,里面涉及有链

表的创建,查找,插入,删除,销毁,排序。我打算每一个都写一个博客,首先

来说创建链表。

很多刚刚接触链表这个名词的时候都无法理解,结构体到底如何一个又一个的联

系起来,其实很容易理解的,在每一链表的末尾添加一个指向下一个头结点的

指针,他们不就是如同一个铁链一样联系在一起。


首先应该知道链表的结构。




我们首先定义一个head指针,让它指向头结点,然后再开始让P指针指向你所创建的结构体。


                     

举个例子当链表添加两个成员的过程。




                        p = (point *)malloc(sizeof(point));
                        head->next = p;
                        head = p;


大致过程其实很简单,就是先让p指向所开辟的空间。


然后给head->next(head所指向的实例的next成员)赋值为p。


再让head等于p,准备下一次添加成员。


这样就完成了,链表的创建。其实也没有那么难哈。


程序举例


void  initpointlink(point *head){int rows;int cols;point *p;if (head->next == NULL){showtopic("请输入录入坐标(输入(0 0)结束录入)");scanf("%d %d", &rows, &cols);fflush(stdin);while (rows&&cols){p = create(rows, cols);head->next = p;head = p;showtopic("请输入录入坐标(输入(0 0)结束录入)");scanf("%d %d", &rows, &cols);fflush(stdin);}}elseshowtopic("\n你不能对已有链表初始化\n");}





 

0 0
原创粉丝点击