一、节点 二、链表 由一系列节点组成。 每个节点至少包括: 一个数据 一个该节点类型的指针 节点之间首尾相连 头指针:指向第一个节点的指针 尾节点:节点指针指向空 三、建立一个单向链表 1、创建节点 2.使每个节点的指针域存储后继节点的地址 ...
分类:
编程语言 时间:
2017-10-16 19:39:07
阅读次数:
143
这个题貌似经常听说? 两个指针,指针1指向头,指针2指向头+k的位置,指针2到达尾部的时候指针1就是答案 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };* ...
分类:
其他好文 时间:
2017-10-13 20:11:04
阅读次数:
165
链表的概念 链表是一种常见的数据结构。它是动态地进行存储分配的一种结构。链表有一个“头指针”变量,以head表示,它存放一个地址,指向一个元素。每个结点都使用一个对象的引用指标它的后继,指向另一个结点的引用叫做链。 数组元素依靠下标(位置)来进行引用,而链表元素则是靠相互之间的关系来进行引用。因此链 ...
分类:
编程语言 时间:
2017-10-13 16:13:10
阅读次数:
306
一.原理与方法 循环队列的 插入与 删除 二..程序清单 三.思考 1. 如果循环队列的下标不是从0开始,而是是从1开始,那么头指针加l 的操作应如何修改? 2. 在循环队列中判断队空和队满的条件能否一样,为什么? 3. 用另一种不同与上面算法的方法解决“假上溢”问题。 ...
分类:
其他好文 时间:
2017-10-08 00:16:52
阅读次数:
188
如果用一个循环数组表示队列,并且只设队列头指针Front,不设尾指针Rear,而是另设Count记录队列中元素个数。请编写算法实现队列的入队和出队操作。 函数接口定义: bool AddQ( Queue Q, ElementType X ); ElementType DeleteQ( Queue Q ...
分类:
其他好文 时间:
2017-10-07 22:47:52
阅读次数:
185
划分算法的目的 我们设定一个特定值,让所有数据项大于特定值的在一组,小于特定值的在另一组,划分算法是快速排序的根本机制。 划分算法的思想 在数组的俩头分别有俩个指针,俩个指针相向而行,假定我们让数组头的部分为小于特定值的数据项,数组尾的部分为大于特定值的数据项,当指针相向移动的过程中,头指针遇到大于 ...
分类:
编程语言 时间:
2017-10-03 11:23:30
阅读次数:
226
链式存储的队列称为链队列。和链栈类似,用单链表来实现链队,根据队列的FIFO原则,为了操作上的方便,分别需要一个头指针和尾指针。队头在链头,队尾在链尾。链式队列在进队时无队满问题,但有队空问题。队空条件为front->next==NULL。 链队描述如下: 链队的操作算法描述如下: 优先级队列 队列 ...
分类:
其他好文 时间:
2017-10-02 20:20:06
阅读次数:
164
给定一单链表的头指针head 1、判断链表是否又环。 2、如果有环,求环长以及环的起始节点。 package aglist;class Node{public final int value;public Node next = null;Node(int value){this.value = v ...
分类:
其他好文 时间:
2017-09-22 00:47:12
阅读次数:
163
?注:未经博主同意,不得转载。 前面讨论的单链表,每个结点中只有一个指针域,用来存放指向后继结点的指针,因此,从某个结点出发只能顺时针往后查找其他结点。若要查找某个结点的直接前驱,则需要从头指针开始沿链表探寻,处理起来十分不方便。为克服单链表的这一缺点,可引入双向链表。 双向链表中每一个结点含有两个 ...
分类:
其他好文 时间:
2017-09-20 17:56:12
阅读次数:
151
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 思路:1、dummy结点的写法是,dummy -> next 等于head,然后将head等于dummy,修改后就是 ...
分类:
其他好文 时间:
2017-09-12 17:48:46
阅读次数:
156