码迷,mamicode.com
首页 >  
搜索关键字:双向链表    ( 1483个结果
linux内核系列(一)内核数据结构之链表
linux,kernel,list,linux内核,双向链表
分类:系统相关   时间:2014-10-16 13:45:42    阅读次数:265
【原创】《算法导论》链表一章带星习题试解——附C语言实现
原题:双向链表中,需要三个基本数据,一个携带具体数据,一个携带指向上一环节的prev指针,一个携带指向下一环节的next指针。请改写双向链表,仅用一个指针np实现双向链表的功能。定义np为next XOR prev,请根据表头提供的信息,为双向链表编写插入函数、删除函数和查找函数,并在O(1)时间内...
分类:编程语言   时间:2014-10-15 18:19:21    阅读次数:151
双向链表
1#include2#include3#include4#include56#defineOVERFLOW07#defineTRUEtrue8#defineFALSEfalse9#defineOK110#defineERROR01112typedefintElemType;13typedefboo....
分类:其他好文   时间:2014-10-15 14:13:10    阅读次数:271
malloc,free的简单实现
首先简单说一下标准库中malloc实现原理:     标准库内部通过一个双向链表,管理在堆中动态分配的内存。     malloc函数分配内存时会附加若干(通常是12个)字节,存放控制信息。     该信息一旦被意外损坏,可能在后续操作中引发异常。 mmap/munmap   底层不维护任何东西,只是返回一个首地址,所分配内存位于堆中。 brk/sbrk   底层维护一个...
分类:其他好文   时间:2014-10-12 15:23:58    阅读次数:224
SDUTOJ 2054 双向链表
#include #include using namespace std; typedef int ElemType; typedef struct LNode { ElemType data; struct LNode *next1,*next2; }*LinkList; int main() { int n,m,i,t; cin>>n>>m; LinkList L,p,tai...
分类:其他好文   时间:2014-10-11 18:44:15    阅读次数:213
SDUTOJ 2054 双向链表
#include #include using namespace std; typedef int ElemType; typedef struct LNode { ElemType data; struct LNode *next1,*next2; }*LinkList; int main() { int n,m,i,t; cin>>n>>m; LinkList L,p,tai...
分类:其他好文   时间:2014-10-11 17:53:55    阅读次数:130
算法导论第十章数据结构--双向链表
看的概念挺朦胧的,没有明确好双链表到底需要哪些方法,其实针对这种结构应该可以写很多方法,并没有什么特定标准。 不过真是只看不练不行啊,一下手各种错误,各种溢出 #include using namespace std; template struct Node { T value; Node* pre; Node* next; }; template class...
分类:编程语言   时间:2014-10-10 15:36:44    阅读次数:247
LinkedList其实就那么一回事儿之源码分析
LinkedList其实是基于双向链表实现的, 因此具有链表 插入慢、 索引快的特性
分类:其他好文   时间:2014-10-10 11:44:54    阅读次数:125
LRU Cache [leetcode]
使用双向链表+map,实现O(1)时间内的get和set 需要注意的是: 1. set时更新tail size为0时更新头部 size为capacity时删除头部并且更新头部 2. get时更新节点到tail的位置,同时如果是节点是头部的话要更新头部 附上代码: class LRUCache{ struct Node{ int key; int...
分类:其他好文   时间:2014-10-08 01:04:54    阅读次数:274
将二叉树转换成双向链表
思路:采用中序遍历的方法,visit函数需要完成的功能为: 1、当前节点的左子节点指向上一次访问的节点; 2、将上一次访问节点的右子节点指向当前节点; 3、最后更新上一次访问节点为当前节点。 在第二步时需要判断上一次访问节点是不是为NULL,如果是,则第二步改为链表的头结点指向当前节点。 程序如下: struct BSTnode { int data; BSTnode * left...
分类:其他好文   时间:2014-10-07 13:20:23    阅读次数:136
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!