链表 链表是以节点的方式存储 每个节点包含data域,next域,next域指向下一个节点 链表分为:带头结点、不带头节点,根据实际需求确定 客户端 LinkedList<string> list = new LinkedList<string>(); list.Add("fan"); list.A ...
分类:
编程语言 时间:
2020-07-12 00:30:11
阅读次数:
71
1.1 栈 栈: stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其 他任何位置进行添加、查找、删除等操作。 简单的说:采用该结构的集合,对元素的存取有如下的特点 先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素).例如,子弹压 ...
分类:
其他好文 时间:
2020-07-11 20:58:58
阅读次数:
56
双链表一个节点里面有两个指针,一个指向左边,一个指向右边 不定义头结点和尾结点了 令下标是0的点表示head 令下标是1的点表示tail 邻接表的知识:把每个点的所有邻边全部存下来 邻接表就是n个单链表 head[i]存储第i个点的邻边 1 #include <bits/stdc++.h> 2 us ...
分类:
其他好文 时间:
2020-07-11 19:14:03
阅读次数:
46
一、什么是链表 线性表的链式存储又称之为单链表,他是通过内存中任意一块区域来存储数据元素的,为了让每一块的元素建立逻辑关系,我们把每一块的数据存储单元分为两个部分,第一个部分为数据部分,第二个部分为指向下一个节点的指针,所以在插入和删除的时候,链表不需要对元素大量的进行移动,只需修改指针即可。 二、 ...
分类:
其他好文 时间:
2020-07-11 19:02:59
阅读次数:
45
数组模拟单链表,图论的基础 单链表用的最多的是邻接表,邻接表是n个单链表,邻接表是树和图的存储方式 单链表 >> 邻接表 >> 存储树和图 单链表开始时是head指向空节点 插入元素后长这样 每个节点存储两个值 值:val 指针:next 然后用数组模拟就需要定义几个数组 e[N]:存储每个节点的v ...
分类:
其他好文 时间:
2020-07-11 17:43:21
阅读次数:
62
顺序查找 顺 序 查 找 法 的 特 点 : 用 所 给 关 键 字 与 线 性 表 中 各 元 素 的 关 键 字' 逐 个 比 较 ', 直 到 成 功 或 失 败 。 存 储 结 构 通 常 为 顺 序 结 构 , 也 可 为 链 式 结 构 。 typedef struct { ElemTy ...
分类:
其他好文 时间:
2020-07-11 17:36:23
阅读次数:
179
题目描述 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例: 输入: 1->2->3- ...
分类:
其他好文 时间:
2020-07-11 15:37:06
阅读次数:
48
(ArrayList 源码分析-jdk11 (18.9)) 1.概述 ArrayList 是一种变长的集合类,基于定长数组实现。ArrayList 允许空值和重复元素,当往 ArrayList 中添加的元素数量大于其底层数组容量时,其会通过扩容机制重新生成一个更大的数组。另外,由于 ArrayLis ...
分类:
其他好文 时间:
2020-07-11 14:25:30
阅读次数:
76
线性表 由同类型数据元素构成有序序列的线性结构 表中元素个数称为线性表的长度 线性表没有元素时,称为空表 表起始位置称表头,表结束位置称表尾 线性表的抽象数据类型描述 线性表是n个元素构成的有序序列 性表基本操作 List MakeEmpty() 初始化一个空线性表L List MakeEmpty( ...
分类:
其他好文 时间:
2020-07-11 11:19:42
阅读次数:
76
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
分类:
编程语言 时间:
2020-07-10 19:34:57
阅读次数:
72