数据结构第二章的学习结束了,了解了顺序表,单链表的建立,插入,删除,查找的算法,以及对它们时间复杂度,空间复杂度的分析。学会区分头指针,头结点和首元结点。 前插法,后插法创建单链表,相比之下,我觉得后插法比较好理解。双向链表就是那个表示被处理结点的前驱的后继(p->prior->next),结点的后 ...
分类:
其他好文 时间:
2019-03-17 10:37:40
阅读次数:
157
"删除链表中重复的结点" 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1 2 3 3 4 4 5 处理后为 1 2 5 待整理 ...
分类:
其他好文 时间:
2019-03-15 14:41:29
阅读次数:
162
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 /* public class ListNode { int val; ListNode next = null; ...
分类:
其他好文 时间:
2019-03-11 21:19:25
阅读次数:
188
git分离头指针产生原因在切换分支时,使用gitcheckout命令直接将分支切换到某一个commit上具体表现切换到某一个commit上后,git会显示如下提示提示说明,现在正处于分离头指针状态,本质上说,现在工作处在没有分支的状态,在这种状态下,如果直接切回现有分支,则很可能在当前commit做的若干改动会被git当作垃圾清除掉另一方面,如果是出于想对某一个commit进行尝试性修改的目的,则
分类:
其他好文 时间:
2019-03-08 18:24:46
阅读次数:
239
链表 用不连续的、或连续的存储单元存储线性表元素 每个数据元素后,加上一个地址域,其地址为其直接后继的地址;数据元素和地址域组成结点。 头指针:指向链表的第一个结点,是第一个节点的地址,或链表在存储器中的首地址 头指针的类型与其他节点指针域的指针类型一致,都是指向同一类型的结点 单链表由头指针唯一确 ...
分类:
其他好文 时间:
2019-03-06 20:38:36
阅读次数:
187
题目: 在O(1)时间内删除链表节点。给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。 解答: ...
分类:
其他好文 时间:
2019-03-04 15:50:33
阅读次数:
137
#include <iostream> #include <string> using namespace std; struct ListNode { int val; ListNode* next; }; void AddToTail(ListNode** pHead, int value); ...
分类:
其他好文 时间:
2019-03-04 11:16:14
阅读次数:
613
题目描述: 题目一:在O(1)时间内删除链表节点 :在给定的单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。 注意:输入提供了要删除节点的指针!! 测试用例: 1)功能测试(从有多个节点的链表中删除中间、头、尾节点;从只有一个节点的链表中删除唯一的节点) 2)特殊输入测试(头 ...
分类:
其他好文 时间:
2019-02-26 13:12:37
阅读次数:
222
算法描述: Reverse a linked list from position m to n. Do it in one-pass. Note: 1 ≤ m ≤ n ≤ length of list. Example: 解题思路:链表题,首先要画图。四个指针,头指针,前指针,临时指针。 ...
分类:
其他好文 时间:
2019-02-02 14:17:43
阅读次数:
165
数据结构 链队列的实现 1 链队列的定义 队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出而已, 我们把它简称为链队列。 为了操作上的方便,我们将队头指针指向链队列的头结点,而队尾指针指向终端结点,如下图所示。 空队列时,front和rear都指向头结点,如下图所示。 链队列的结构为 ...
分类:
编程语言 时间:
2019-01-28 00:54:46
阅读次数:
334