无聊写了下无头结点的链表,发现没有头结点想做一些插入/删除操作果然很困难... 好像并没有什么实际作用。 ...
分类:
其他好文 时间:
2017-08-07 00:08:23
阅读次数:
155
一、几种重要的接口和类简介 1、List(有序、可重复)List里存放的对象是有序的,同时也是可以重复的,List关注的是索引,拥有一系列和索引相关的方法,查询速度快。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢。 2、Set(无序、不能重复)Set里存放的对 ...
分类:
编程语言 时间:
2017-08-06 19:34:51
阅读次数:
134
队列(Queue): 满足先进先出(FIFO)的规则; 下面使用php实现一个简单的循环队列模型; 初始状态的队列,队列长度为0,队头和队尾的指针相同均位于队列的开始; 入队操作:队尾指针向后移动,长度加一; 出队操作:队头指针向后移动,长度减一; 循环队列特点:队列大小固定,队列所开辟的内存空间可 ...
分类:
Web程序 时间:
2017-08-05 21:10:02
阅读次数:
246
红黑树,顾名思义,就是把平衡二叉搜索树的节点赋予两种颜色,通过定义几条规则,达到约束的目的。红黑树可以保证,每次插入删除操作后的重平衡,全树拓扑结构的改变仅需要常数个节点,最坏情况下需要对logn个节点重染色,但是就分摊意义仍然为O(1)。 需要满足的条件: (1)树根始终为黑色 (2)外部节点均为 ...
分类:
其他好文 时间:
2017-08-03 18:08:36
阅读次数:
156
又是新的一天,又是一条充满希望的咸鱼 今天有复习了数组,又学习了数组的相关运算:插入、删除、查找 但还是不完全理解 今天只做出了四道题(其中有一道题还是抄的),不开心啊啊啊 关于数组的运算: 插入:若插入一个数,应把插入位置后的数往后移一位,且要从最右边的数开始,一个一个向右移,利用循环,可以用左边 ...
分类:
其他好文 时间:
2017-08-01 20:55:11
阅读次数:
123
链表结构如下: 删除函数如下: void DeleteNode(Nodes head,Nodes target) 很简单的想法就是,要删除该结点,可以把该结点的下一个结点的值赋给该结点,接着删除下一个结点即可。 但要考虑三种情况,一是该结点是尾结点,二是除了头结点以外,只有一个结点,三是只有头结点, ...
分类:
其他好文 时间:
2017-08-01 17:49:57
阅读次数:
131
引言: 链表是数据结构中的重要成员之中的一个。因为其结构简单且动态插入、删除节点用时少的长处,链表在开发中的应用场景许多。仅次于数组(越简单应用越广)。 可是。正如其长处一样,链表的缺点也是显而易见的。这里当然不是指随机存取那些东西,而是因为链表的构造方法(在一个结构体中套入其同类型指针)使得链表本 ...
分类:
系统相关 时间:
2017-07-31 12:35:15
阅读次数:
191
下面以一个电子英汉词典程序(以下简称电子词典)为例,应用双向循环链表。分离数据结构,可以使逻辑代码独立于数据结构操作代码,程序结构更清晰,代码更简洁;电子词典的增、删、查、改操作分别对应于链表的插入、删除、查找、查找和获取链表元素操作。 在程序初始化时,除了初始化链表,还要将保存在文件中的词库加载到 ...
分类:
编程语言 时间:
2017-07-30 20:03:36
阅读次数:
245
链表中一般都要进行初始化、插入、删除、显示、释放链表,寻找节点这几个操作,下面我对这几个操作进行简单的介绍,因为我的能力不足,可能有些东西理解的不够深入,造成一定的错误,请各位博友指出。 A、Linux内核链表中的几个主要函数(下面是内核中的源码拿出来给大家分析一下) 1)初始化: #define ...
分类:
系统相关 时间:
2017-07-29 17:40:48
阅读次数:
214