和数组相比,链表更适合插入、删除操作频繁的场景,但是不适合用于查询。 ...
分类:
其他好文 时间:
2018-10-07 13:54:54
阅读次数:
165
题目:反转一个单链表。 实例:输入: 1->2->3->4->5->NULL,输出: 5->4->3->2->1-NULL。 算法:反转一个单链表,可以想成是两两节点之间改变链接方式,将第一个节点链接在第二个节点(程序中指针ptr指向它)的后面,让头指针指向新链表的第一个节点(原链表的第二个节点), ...
分类:
其他好文 时间:
2018-10-05 18:41:32
阅读次数:
165
链表是一群结构体(称为结点)通过指针连起来。这种结构体类型,比较特殊,叫自引用结构体类型。它有一个指针指向和和结构体一样的类型,其余是数据成员。 头指针指向第一结点,尾指针一定要用空表示,这叫有头有尾。一般在表头加头结点,之后才是正式含数据的结点。 这些结点通过头指针访问,所以若头指针值为空,那么链 ...
分类:
编程语言 时间:
2018-09-30 12:52:38
阅读次数:
213
ArrayList底层采用数组实现,访问特别快,它可以根据索引下标快速找到元素。但添加插入删除等写操作效率低,因为涉及到内存数据复制转移。 ArrayList对象初始化时,无参数构造器默认容量为10,当空间不足时会扩容,扩容后的容量是老容量的1.5倍。Java8的ArrayList源代码第259行, ...
分类:
其他好文 时间:
2018-09-29 19:21:12
阅读次数:
170
i:在光标所在字符前开始插入 a:在光标所在字符后开始插入 o:在光标所在行的下面另起一新行插入 s:删除光标所在的字符并开始插入 I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入 A:在光标所在你行的行尾开始插入 O:在光标所在行的上面另起一行开始插入 S:删除光标所在行并开始插入 ...
分类:
系统相关 时间:
2018-09-25 17:23:01
阅读次数:
169
1、若用一个大小为6的数组实现循环队列,队头指针front指向队首元素,队尾指针rear指向队尾元素的后一个位置。若当前rear和front的值分别为0和3,出队1个元素,入队2个元素,rear和front的值分别为:____ (A) A. 1,5 B. 2,4 C. 4,2 D. 5,1 分析: ...
分类:
其他好文 时间:
2018-09-24 18:57:49
阅读次数:
190
#include <cstdio>#include <cstdlib>#include <iostream>using namespace std;struct List{ int date; List *next;};void creat(List *head) //往头指针后加,倒序{ List ...
分类:
其他好文 时间:
2018-09-24 17:18:27
阅读次数:
139
双向链表简介 在循环链表中虽然能够实现从任一一结点出发找到其前驱,但时间复杂度是O(n),从表中希望迅速找到其前驱,可为每个结点增加一个指向其前驱的指针prior,这样链表中有两条方向不同的链,称为双向链表 p指向双向链表中某一结点,以下成立 建立双向链表 双向链表的插入 指针变化情况 双向链表的删 ...
分类:
其他好文 时间:
2018-09-24 13:44:46
阅读次数:
191
题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。 栈有两种最重要的操作,即poppop(从栈顶弹出一个元素)和pushpush(将一个元素进栈)。 栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问 ...
分类:
其他好文 时间:
2018-09-24 13:42:46
阅读次数:
131
删除: 算法思想 插入 算法思想 代码实现: 查找 1.按序号查找 算法思想 要查找带头结点的单链表中第i个结点,则需要从单链表的头指针L出发,从头结点L->nexrt顺着链域扫描,用指针p指向当前扫描的结点,j做计数器,累积当前扫描的结点数(初始值为0),j==ii时,指针p指向的就是要找到第i个 ...
分类:
其他好文 时间:
2018-09-23 15:10:08
阅读次数:
135