基本数据结构 双向链表 用数组模拟链表实现 ####双向链表初始化 l[1]=r[1]=0;r[0]=1; 结点1的左边和右边都是1,结点0的右边是1,为什么结点0会存在?因为后续元素有可能插入到结点1的前面 插入 #####将i插入到x的左边 x原本的左边为l 调整后的顺序为l,i,x 想象l和x ...
分类:
其他好文 时间:
2021-02-19 13:18:28
阅读次数:
0
寻找重复数 根据题意,数组中的数字都在1~n之间,所以数字的范围是小于数组的范围的,数组的元素可以和数组的索引相联系。 例如:nums[0] = 1 即可以将nums[0]作为索引 通过nums[0] 可以访问到nums[1],以此类推。 如左图所示,环的入口就是重复元素。 那么问题就转化为了如何找 ...
分类:
编程语言 时间:
2020-05-27 01:07:44
阅读次数:
75
链表一般分为两种:1)单链表 2)双链表,二者是及其相似的,但双链表有两个指针 1.单链表: //数组模拟链表(快) #include <iostream> #include <cstdio> #include <cstring> #include <string.h> #include <math ...
分类:
其他好文 时间:
2020-02-17 16:04:37
阅读次数:
81
主要的好处是静态的,因此不需要每一次都动态的new,所以在做算法题的时候能够节省时间! [toc] 数组模拟单链表 利用两个数组模拟,一个数组存储val值,另一个数组存储其下一个节点的 ,存val数组的 值对应在next数组中 代码如下 数组模拟双向链表 我们假定链表位于 0和1之间 物理地址是在i ...
分类:
编程语言 时间:
2020-02-06 22:59:11
阅读次数:
89
在c++中我们应如何表示一张图呢? 表示完成后又应如何调用呢? 1.图的建立 我们有许多方法存住一张图,在csp-s考试范围常用的方法有: 1.邻接矩阵 2.数组模拟链表(前向星) (当然还有许多其他方法) 邻接矩阵理解很简单: 对于一个二维数组 a [i] [j],a [i] [j]的值即为 点 ...
分类:
其他好文 时间:
2020-01-01 13:20:16
阅读次数:
63
1052 Linked List Sorting (25 分) 1052 Linked List Sorting (25 分) 1052 Linked List Sorting (25 分) A linked list consists of a series of structures, whic ...
分类:
编程语言 时间:
2019-09-09 09:12:44
阅读次数:
87
今天主讲图论。 前言:图的定义:图G是一个有序二元组(V,E),其中V称为顶集(Vertices Set),E称为边集(Edges set),E与V不相交。它们亦可写成V(G)和E(G)。 一、图的存储: 1、邻接矩阵: 2、邻接表: 数组模拟链表实现:记录每条边的终点、边权(如果有的话)、同一起点 ...
分类:
其他好文 时间:
2019-05-02 21:27:10
阅读次数:
163
for(int i=next[0];i!=0;i=next;) 用数组模拟链表 cur代表当前字符的位置,也就是说它在光标的左边,i代表下一个字符 next[i]=next[cur];是把下一个字符的位置赋值为0,next[cur]=i;是把cur与i链接起来,cur->i; 在没有"["或者"]" ...
分类:
其他好文 时间:
2018-10-17 00:24:18
阅读次数:
137
You’re typing a long text with a broken keyboard. Well it’s not so badly broken. The only problem with the keyboard is that sometimes the “home” key o ...
分类:
编程语言 时间:
2018-08-01 22:26:47
阅读次数:
197
You have n boxes in a line on the table numbered 1 . . . n from left to right. Your task is to simulate 4 kinds of commands: ? 1 X Y : move box X to t ...
分类:
编程语言 时间:
2018-08-01 22:15:19
阅读次数:
188