1 双向链表详解和实现 1.1 双向链表详解 双(向)链表中有两条方向不同的链,即每个结点中除next域存放后继结点地址外,还增加一个指向其直接前趋的指针域prior。双向链表在查找时更方便 特别是大量数据的遍历。 注意: ①双链表由头指针head惟一确定的。 ②带头结点的双链表的某些运算变得方便。 ...
分类:
编程语言 时间:
2016-09-02 23:28:46
阅读次数:
186
转自:http://blog.csdn.net/xlf13872135090/article/details/8857632 Node *head; //声明头结点 带头结点初始化 void InitList(Node **head){ *head=(Node *)malloc( sizeof(No ...
分类:
其他好文 时间:
2016-07-12 21:15:20
阅读次数:
188
单链表是方向单一的链表,即就是只能从前向后访问,不能从后向前访问。这篇文章,我
将整理出单链表的一些基本功能。
1.尾插 2.尾删 3.头插 4.头删5.打印 6.插入7.删除指定元素 8.删除指定元素的全部9.删除指
定位置的元素10.排序(此文先给出基本的冒泡排序,其他排序算法之后再给出)
下边,我就这些功能一个一个进行说明,尽量配图~~(这里的单链表不带头结点)
为了方便大家读以下...
分类:
其他好文 时间:
2016-06-12 02:14:15
阅读次数:
243
给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据与依次为2、4、6、8、10,逆置后,从头至尾结点数据依次为10、8、6、4、2。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 试题程序。 答案: 你的答案 (正确) 1 next 2 N ...
分类:
其他好文 时间:
2016-05-02 21:11:06
阅读次数:
164
1、创建无头结点链表(头插) 2、删除中间节点(不是第一个也不是最后一个) ...
分类:
其他好文 时间:
2016-04-24 13:56:46
阅读次数:
135
这次实现的是带头结点的单链表的初始化、遍历、创建、插入、删除、判断链表是否为空、求链表长度函数,编译环境是vs2013。 其中插入和删除函数中循环的条件目前还不太明白。 ...
分类:
编程语言 时间:
2016-04-12 23:55:39
阅读次数:
277
LinkedList实现List接口,并且实现了接口中的所有方法,这个操作可以作为一个栈来使用,同时也实现Deque接口,实现了add,poll方法可以为一个队列。内部是使用带头结点的循环双向链表。
结构如下图:
类的继承实现关系
内部类Entry的结构
部分方法源码剖析
add(E e)
添加一个元素的过程。
getFirst()...
分类:
其他好文 时间:
2016-04-11 14:31:25
阅读次数:
120
单链表演示图:单链表结构体:structNode
{
Node(constDataType&d)//节点的构造函数
:_data(d)
,_next(NULL)
{}
DataType_data;//数据
structNode*_next;//指向下一个节点的指针
};带头结点和尾节点的单链表:多一个Tail指针的好处就是很方便可以找到链表尾部,方便..
分类:
编程语言 时间:
2016-04-06 18:59:09
阅读次数:
352