C语言—链表的创建
2017-01-20 14:55
176 查看
基本的链表创建思想
最近在学习结构体,用了一天时间做了一个简易的坐标管理系统,里面涉及有链表的创建,查找,插入,删除,销毁,排序。我打算每一个都写一个博客,首先
来说创建链表。
很多刚刚接触链表这个名词的时候都无法理解,结构体到底如何一个又一个的联
系起来,其实很容易理解的,在每一个链表的末尾添加一个指向下一个头结点的
指针,他们不就是如同一个铁链一样联系在一起。
首先应该知道链表的结构。
我们首先定义一个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); } } else showtopic("\n你不能对已有链表初始化\n"); }
相关文章推荐
- 《C Primer Plus 》--C++初识
- 树莓派的gpio的使用《树莓派小用3》
- C++ 获取文件下的所有文件的名字
- C#调用C/C++的dll须知
- C++的map与multimap的使用
- C++程序内写的SetDlgItemText却提示SetDlgItemTextA不接受两个参数
- 【模板】高精度取余函数
- LeetCode 9. Palindrome Number
- ue4-HUD绘制UI(C++)
- [C/C++11]_[初级]_[std::bind介绍和使用]
- [C/C++11]_[初级]_[std::bind介绍和使用]
- 8、泛型程序设计与c++标准模板库2.5容器适配器
- c语言基础语法三——数组
- C++学习笔记
- ASSIC表对照表
- C++——KMP模板
- c/c++混合编程Makefile范例
- c++ Primer Plus(第六版)第十二章习题,写代码之路
- 第七届蓝桥杯大赛个人赛省赛(软件类)真题 C语言A组 1
- 1.The Graphics View Architecture(图形视图框架)