在http://blog.csdn.net/robertcpp/article/details/51559333一文中,我们讲了排序,这一章来介绍一下基本数据结构:表、队列、栈和它们的简单实现
一、表ADT
1、数组实现顺序表
通过对数组操作,来直接对表进行增删查改操作,这种线性表查找某个位置的元素花费的时间为O(1),但是插入删除元素花费的时间为O(n),如果对表的操作更多的是访问操作,那...
分类:
编程语言 时间:
2016-06-04 08:08:53
阅读次数:
245
Vim操作 1、 插入命令 命令 操作 i 光标所在位置前插入 I 光标所在行,行首插入 a 光标所在位置后插入 A 光标所在行,行尾插入 o 光标所在行,向下另起一行插入 O 光标所在行,向上另起一行插入 s 删除字符插入 S 删除整行插入 . 重复执行上一条命令 2、 定位命令 命令 操作 0 ...
分类:
系统相关 时间:
2016-06-01 15:33:14
阅读次数:
194
链式队列(Linked Queue)
1. 链式队列的概念
1.1 链式队列的定义
链式队列是基于链表的存储表示实现的队列。
1.2 链式队列中各元素的逻辑及存储关系
链式队列可以采用单链表作为其存储表示,因此,可以在链式队列的声明中用单链表定义它的存储空间。
链式队列的队头指针指向单链表的第一个结点,队尾指针指向单链表的最后一个结点。
注:链式队列的队头元素存放在单链表的第一个结点内,若要从队列中退出一个元...
分类:
其他好文 时间:
2016-05-30 15:24:56
阅读次数:
189
循环队列(Circular Queue)
1. 循环队列的概念
1.1 循环队列的定义
为了能够充分地使用数组中的存储空间,克服”假溢出”现象,可以把数组的前端和后端连接起来,形成一个环形的表,即把存储队列元素的表从逻辑上看成一个环,成为循环队列(circular queue)。
1.2 循环队列中各元素的逻辑及存储关系
循环队列的首尾相接,当队头指针front和队尾指针rear进到maxSize-1后,再前...
分类:
其他好文 时间:
2016-05-30 15:24:48
阅读次数:
143
结果: 2. enum用法 结果 结果 枚举的遍历: 结果同上, 1 2 3. 数值类型题 结果: 4. switch, case 结果: 5. HashMap键值为空的问题 HashMap:适用于在Map中插入、删除和定位元素。 Treemap:适用于按自然顺序或自定义顺序遍历键(key)。 两者 ...
分类:
编程语言 时间:
2016-05-27 16:20:43
阅读次数:
197
刚学avl树,在写程序的过程中遇到一些很小但需要注意的问题。class AVLTree:public BinarySearchTree
{
public:
//下面两个函数调用递归版本插入删除(主要是因为root为private,对于对象而言不可访问)
Error_code Insert(const Record &newData);
Error_code Rem...
分类:
其他好文 时间:
2016-05-27 13:03:53
阅读次数:
231
1. 顺序队列的概念
1.1 顺序队列的定义
顺序队列是基于数组的存储表示实现的队列。
1.2 顺序队列中各元素的逻辑及存储关系
顺序队列可以采用顺序表作为其存储表示,因此,可以在顺序队列的声明中用顺序表定义它的存储空间。
顺序队列可以使用一维数组作为队列的存储空间,存放队列元素的数组的头指针为*elements,该数组的最大允许存放元素个数为maxSize,当前队列的队头位置由数组下标指针front指示,队尾...
分类:
其他好文 时间:
2016-05-27 11:37:53
阅读次数:
225
int width(BTree *bt) { BTree *p=bt; if(bt)return 0; BTree *q[100]; int front=0,rear=0;//队头指针,队尾指针 int last=0;//同一层最右结点在队列中位置 int temp=0,maxw=0;//当前层宽度 ...
分类:
其他好文 时间:
2016-05-26 10:06:55
阅读次数:
215
前言索引加快了检索的速度,但是却降低了数据列里插入、删除以及修改数值的速度。也就是说,索引降低了许多涉及写入的操作速度。之所以出现这种情况,是由于写入一条数据不仅仅是要写入到数据行,还需要所有的索引都作出相应的改变如更新或是重新编排。MySQL在为检索生成一个执行方案时候,要仔细对索引进行计算,创建过多的索引对查询优化程序就加上了更多的工作,而且当你有太多的索引的时候,MySQL还有可能无法选出最好...
分类:
数据库 时间:
2016-05-26 01:10:26
阅读次数:
233
1、编写一个内核模块,在模块中完成内核链表的创建、插入、删除、遍历等操作。 背景知识 1、内核链表实例分析 内核链表最大的特点是它的通用性,不必因为结构体中数据域的不同而单独为操作链表设计一套方法。 Linux内核在linux/lish.h文件中定义了内核通用链表list_head类型基本结构: s ...
分类:
其他好文 时间:
2016-05-25 15:01:32
阅读次数:
138