为什么要了解数据结构?用数组存放数据不香吗?
1、在函数中使用数组存放数据消耗的是栈空间的内存,一不小心就会产生溢出。
2、存放的数据类型单一,要么是int型要么是char型的数据要么就是各种指针类型,对于多类型的数据来说,数组就捉襟见肘了。3、如果对数组的某个元素进行增删改查的操作,通常要对整个数组进行遍历、成片数据的移动,效率太低。链表是C语言中最基础的数据结构,后面的双向链表、二叉树都是由单向不循环链表拓展出来的。对于刚学习完语言基础语法的同学来说,是时候来了解数据结构了。单向链表:上图中,所有的节点均保存一个指针,指向其逻辑上相邻的下一个节点(末尾节点指向空)。另外注意到,整条链表用一个所谓的头指针head来指向,由head开始可以找到链表中的任意一个节点。head通常被称为头指针。了解完单项链表的基本结构后,我们来一步步用C代码实现这种数据结构。一、节点设计二、初始化空链表我们一般都会用带有头结点的链表存放数据,比较方便使用。基本思路:初始化代码:三、增删结点基本思路(头插):代码示例:基本思路(尾插):示例代码:四、链表的遍历五、结点的查找结点查找的思路和链表的遍历差不多:六、结点的删除基本思路:示例代码:关于单向链表的一些基本操作就这些,实现了对单向链表的增删改查。如果有哪里没看懂的朋友欢迎留言提问。