/*问题描述,如何在时间复杂度为O(n)的前提下,实现单链表翻转。并尽量减少内存消耗。即1-2-4-5-6转化为6-5-4-2-1。*/ 1 # include 4 struct Slist{ 5 6 int size; 7 struct sl* head; 8 9 10 };...
分类:
其他好文 时间:
2014-10-27 17:25:26
阅读次数:
202
学了这么长的时间的数据结构了,下面是我自己整理的数据结构中的单链表数据。拿来和大家分享一下,也请大家给我提提程序中的不足之处。单链表中用到了很多的指针。在指针的直来直去中,很多的初学者都被搞得晕头转向。我的代码里也给了相应的注释。希望大家觉得好的话就给点评价。当然最重要的我想大家可以给我意见让我精简一下我的代码。谢谢了。...
分类:
其他好文 时间:
2014-10-27 00:34:43
阅读次数:
304
这是“线性表系列”中的“链表系列”文章之一——单链表。关于“线性表系列”中的“顺序表系列”请转到:基于静态分配的数组的顺序表(兼具Boost单元测试),基于动态分配的数组的顺序表(兼具Boost单元测试)。 对于单链表的介绍请参考网页。 对于单链表,我定义了一个这样的类LinkedList:...
分类:
其他好文 时间:
2014-10-27 00:10:07
阅读次数:
271
昨天有同学(初学指针)在练习单链表和二叉树的时候,程序老是崩溃,或者得不到正确结果,于是向我求助。问题就出在指针的參数传递上,没传好指针导致内存混乱,其它代码基本全对。这个错误十分可惜。故在此我想做个记录,可能显得十分基础。假设函数的參数是普通的一级指针,那么就意味着你仅仅能使用指针、改变指针指向或...
分类:
其他好文 时间:
2014-10-26 22:47:51
阅读次数:
285
二、单链表的头插与尾插 只要懂了单链表的头插与尾插,双链表的就非常好理解了。对于这,我觉得用图形解释没一步是最好的方法。附上我自己对头插与尾插的理解。1.头插法在我学的过程中最难以理解的是s->next=L->next。解决方法:我是通过上面这幅图了解头插是如何一步一步插入元素,按步骤分析即...
分类:
其他好文 时间:
2014-10-26 22:32:01
阅读次数:
296
1、单链表反转(递归非递归) ListNode *ReverseList(ListNode *pHead)
{ if(pHead==NULL||pHead->Next==NULL) return pHead; ListNode *previousNode=NULL; ListNode *nextNo...
分类:
其他好文 时间:
2014-10-26 18:17:14
阅读次数:
214
本文从源码角度分析了malloc/free在avr-libc下的具体实现。avr-libc的malloc/free使用了单链表链接的freelist作为管理chunk的“账簿”,同时采用了“最佳适配”策略——即若freelist有多个chunk可满足当前malloc(size)请求,将以“最佳的”(所有大于size的chunk中最小的)chunk响应。...
分类:
其他好文 时间:
2014-10-25 10:37:14
阅读次数:
328
链表作为一种基础的数据结构,用途甚广,估计大家都用过。链表有几种,常用的是:单链表及双链表,还有N链表,本文着重单/双链表,至于N链表。。。不经常用,没法说出一二三来。在D里面,可能会用Contnrs.pas.TStack/TQueue相关类,进行操作,不过里面的实现,并非使用的是链表实现,只是用T...
转载请注明出处:http://blog.csdn.net/ns_code/article/details/25739727 九度OJ上AC,採用归并的思想递归实现。题目描写叙述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们须要合成后的链表满足单调不减规则。(hint: 请务必使用链表....
分类:
其他好文 时间:
2014-10-24 22:14:40
阅读次数:
344
先看看hashmap在整个Collection中的位置
HashMap中存储数据的结构是
/**
* The table, resized as necessary. Length MUST Always be a power of two.
*/
transient Entry[] table;
上面的英文就不用说了。
原来基础的存储结构式En...
分类:
其他好文 时间:
2014-10-24 14:42:43
阅读次数:
223