//初始化双链表 bool InitDLinkList(DLinklist &L){ L=(Dnode*)malloc(sizeof(Dnode)); if(L==NULL) return false; L->prior=NULL; // 头结点的prior永远指向NULL L->next=NULL ...
分类:
其他好文 时间:
2020-04-17 22:08:30
阅读次数:
70
//按位序删除(带头结点) bool ListDelete(LinkList &L ,int i,int &e){ if(i<1) return false; LNode *p; //指针p指向当前扫描结点 int j=0; //当前p指向的是第几个结点 P=L; //L指向头结点,头结点是第0个结 ...
分类:
其他好文 时间:
2020-04-16 22:20:25
阅读次数:
117
链表,和数组不同,链表并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用,如图所示: 单链表 链表有多种类型,最简单的是单链表,单链表是最原生的链表,其结构如图所示: 单链表中有两个节点比较特殊,分别是第一个结点和最后一个结点。我们通常把第一个结点叫作头结点,把最后一个结点叫作 ...
分类:
其他好文 时间:
2020-04-15 00:41:11
阅读次数:
67
问题描述: 有一个包含int型节点值的单链表,给定一个链表中的节点node,但不给定整个链表的头结点,删除链表中的某个结点。 算法实现: class Node { public int value; public Node next; public Node(int value) { this.va ...
分类:
其他好文 时间:
2020-04-11 22:14:12
阅读次数:
111
问题描述: 给定一个链表的头结点head和一个整数num,请实现函数将值为num的节点全部删除。 例如:链表为1->2->3->5->3->6->null,num=3,调整后的链表为: 1->2->5->6->null 算法实现: public class Node { public int val ...
分类:
其他好文 时间:
2020-04-07 22:34:30
阅读次数:
90
1、数组与链表 我们至少可以通过两种结构来存储数据 数组 优点: 存取速度快 缺点: 需要一个连续的很大的内存 插入和删除元素的效率很低 链表 专业术语: 首节点 存放第一个有效数据的节点 尾节点 存放最后一个有效数据的节点 头结点 头结点的数据类型和首节点的类型是一摸一样的 头结点是首节点前面的那 ...
分类:
其他好文 时间:
2020-04-06 19:05:55
阅读次数:
69
1.什么是链表 [1]. 链表是一种在物理存储单元上非连续的的存储结构; [2]. 链表的数据单元分为:数据域(data:存储节点的数据信息)和指针域(next:存储下/上个节点的地址); [3]. 链表可以分为:带头结点的链表和不带头结点的链表; [4]. 基本链表分类: (1)单链表 (2)循环 ...
分类:
其他好文 时间:
2020-04-05 22:22:32
阅读次数:
68
数据结构 参考:http://lupython.gitee.io/ 线性结构 就是能够用一根线串起来的数据结构 数组 (列表) 问:申请数组的前提条件是啥? a[12]?内存需要满足的条件? 答:内存必须有一块连续的内存空间 int a[7] : 声明一个数组,这个数组的数组名是 a, 数组的大小是 ...
分类:
编程语言 时间:
2020-04-04 22:21:00
阅读次数:
103
原则上不能对空指针操作。 因为水平有限,我现在对此理解还不是很深刻。 这和操作系统有关,以后详细了解一下操作系统相关的问题. 在编程中,如果对空指针操作,会出现错误。 例如: 在创建不带头结点的链表时, List Read() { int n; scanf("%d",&n); List head = ...
分类:
其他好文 时间:
2020-04-04 20:39:15
阅读次数:
96
DFS的复杂度分析: 对于邻接表的存储方式:因为邻接表中每条链表上的从第2个结点到表尾结点一定是表头结点的邻接点,所以遍历表头结点的邻接的过程中只需要遍历这些顶点即可,无需遍历其他的顶点,所以遍历某个顶点的所有邻接点的复杂度为O(ei), ei为每个顶点的邻接点个数,也就是每条链表的边数。所以邻接表 ...
分类:
其他好文 时间:
2020-04-03 18:31:53
阅读次数:
179