标题:分享:通用链表(有任何问题或建议,请提出)(5.2新增两个函数)
只看楼主
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
30楼代码又更新了~这次新增了查找节点功能~可以查找任意一个自定义结构体的任意一个成员~感觉调用参数比较多~有时间再补充注释~还要上选修和练习VIM~忙啊~~~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-02 20:31
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
30楼代码又更新了~~~~新增了两个相似的删除节点函数~~~重点是实现自动快排和手动快排功能~~自动快排只适用于1级排序~而手动快排的话需要自己写比较函数~不过当然是手动快排效率高一些~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-18 13:29
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
修复了删除函数返回头节点和尾节点以及一些小bug~看来写接口要用哈希或者红黑树方面的知识(不禁吸了一口凉气~大二结束之前能搞定红黑树么)~~~~~

PS:数组也可以理解为一种最简单的哈希~~~~

[此贴子已经被作者于2017-5-22 03:39编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-22 03:35
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
5-22 13:30更新了30楼代码~支持了创造节点能带空指针待定功能(以往创建节点时带空指针会创建不成功……不过这样就算是插入空指针也会额外分配空间~这个要注意一下)提升了自动快排效率(现在几乎和手动快排差不多了~~)新增了复制链表函数(如果被复制链表非空则把数据加到末尾)~~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-22 13:25
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
刚刚修改了链表释放完全指针值没有更新的bug~原贴忘记调用二级指针了~已经改正~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-23 01:32
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
看到Java链表封装还有两个removeFirst函数和removeLast函数
大意就是删除开头(结尾)节点并返回该节点中的数据~

于是就参照其功能写了两个

Remove_Rear和Remove_Front函数~

和Del_Rear Del_Front的区别是

前者是返回删除节点的数据~后者是返回删除后下一个节点的数据~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-04 21:42
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:0 
以下是引用九转星河在2017-6-4 21:42:25的发言:

看到Java链表封装还有两个removeFirst函数和removeLast函数
大意就是删除开头(结尾)节点并返回该节点中的数据~

于是就参照其功能写了两个

Remove_Rear和Remove_Front函数~

和Del_Rear Del_Front的区别是

前者是返回删除节点的数据~后者是返回删除后下一个节点的数据~


如果这两个函数是这两个功能的话,不需要单独写一个函数,我觉得,直接修改删除节点的返回值就行了。

删除首节点,我已经实现了。但是我写的是不返回,返回首节点有一个单独的函数。这样我觉得更灵活一些。

删除尾节点,我的结构,实现起来有遍历的麻烦。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-06-04 21:45
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 47楼 renkejun1942
我也感觉像你所说的这样~就算不写返回值多写一两行代码就能解决了~不过我还是弄出来了~就先这样吧~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-04 21:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-476405-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.333251 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved