寒假 12 (表的链表实现彻底结束,find kth未解决)

Posted guguclaire

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了寒假 12 (表的链表实现彻底结束,find kth未解决)相关的知识,希望对你有一定的参考价值。

表:元素,元素个数,元素相对关系;元素操作:find,delete,insert,print,make null

 

简单数组实现:

元素都被加上了有自然顺序节点的链条,要预先估计一个较高的长度,有空间浪费。每次insert或delete时,因为自然节点固定要整体移动,占用时间。

 

链表实现:

不连续存储,概念里没有固定的位置编号,仅可以从value上识别,寻找,一个element或一个位置;或者直接用绝对地址调用

 

 

具体步骤:建立node结构并连缀,处理函数实现

 

相关技巧:

使用typedef,对该结构使用中要用到的类型进行定义,避免多次长声明,且数据的结构更加清晰

 

小知识:

静态变量只在编译时声明一次,以后的声明语句会被忽略,不会分配新的空间,所有的操作都作用到了第一次分配的地址上,在程序结束后释放空间。即使用函数宏##每次声明时都更改变量名,也还是一样的效果,这个我不知道为什么

 

变量反身修改,一般要借助一个承载原值的中间变量

 

想要通过代码块修改变量,应该给代码块传递指针,否则只能修改原值的一个copy

 

直接以要返回的变量为中心考虑循环条件,条件较为间接时再考虑设置中间参考量

 

malloc和free在stdlib.h中。代码块中的malloc比声明为静态更为灵活,可重复分配,默认程序结束时回收,返回申请得到的地址,如果空间申请不到返回null

 

把 源代码原稿 分成 头文件.h 和 源文件.c,一个包含各种原型声明,一个包含各种定义

main程序用到某些函数或结构的时候,include头文件.h,语句中直接用就好

main中定义很少,都是语句,而且进程模块化吧

 

以上是关于寒假 12 (表的链表实现彻底结束,find kth未解决)的主要内容,如果未能解决你的问题,请参考以下文章

有序的双链表的实现

合并两个排序的链表

JS实现一个基于对象的链表

反转链表

数据结构中的链表的操作使用java语言的实现

数据结构与算法之深入解析复制带随机指针的链表的算法实现