前两篇博文中已经介绍了vector和list的两种容器,我们发现他们各有各的优缺点,vector在内存中连续存储,支持随机访问,但是查找和删除的效率比较低,而list在内存中是链式存储的查找和删除的效率很高,但是不支持随机存储,那么deque就综合和两者的优点,将若干连续的内存通过某种手段拼接在一起...
分类:
编程语言 时间:
2015-04-12 14:36:29
阅读次数:
178
首先解释一下“二级指针”:一级指针所关联的是其值(一个地址)名下空间里的数据,这个数据可以是任意类型并做任意用途,但二级指针所关联的数据只有一个类型一个用途,就是地址。指针就是两个用途:提供目标的 读取 或 改写, 那么二级指针就是为了提供对于内存地址的读取或改写。指针的表现形式是地址,核心是指向关...
分类:
其他好文 时间:
2015-04-04 12:04:48
阅读次数:
188
import java.util.Stack;
//二叉树三种遍历递归及非递归实现(Java)
public class Traverse {
/******************定义二叉树**************************/
private final int MAX_SIZE = 10;
//链式存储
public static class BinaryTre...
分类:
编程语言 时间:
2015-03-19 16:24:16
阅读次数:
241
二叉树中每个节点最多只有两个子树,并且其子树有左右之分,次序不能任意颠倒。满二叉树和完全二叉树的区别如下(满二叉树是一种完全二叉树):二叉树的存储结构1) 顺序存储结构缺点:对非完全二叉树的顺序存储浪费空间。2) 链式存储结构1 typedef struct BiTNode {2 TElemTy.....
分类:
其他好文 时间:
2015-03-18 00:58:06
阅读次数:
196
线性表的链式存储。主要是单链表的相关知识,介绍了正序建立单链表、逆序建立单链表、单链表的插入、删除、查找、输出以及单链表的合并方法。单链表的合并前提是两个都有序。具体知识点详见代码注释。 1 /*** 2 线性表的链式存储结构不能随机存储,整个链表的存取都必须从头结点开始。但是没有顺序存储的缺...
分类:
其他好文 时间:
2015-03-13 16:25:48
阅读次数:
162
数组是 一种 使用广泛 的数据结构,任何编程语言都有数组。其本质上 是 线性表,一维数组 是 一个线性表,多维数组是多组 线性表。 其 便利性 就在于 查找 和 赋值 方便。所以 就没必要 用 链式存储方式。
下面 给出 数组的实现代码:
// Array.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
#de...
分类:
编程语言 时间:
2015-03-13 14:31:26
阅读次数:
170
#include//#include//#include using namespace std;#define OK 1#define TRUE 1#define FALSE 0#define ERROR 0typedef int status;//返回的状态值typedef int elemty...
分类:
其他好文 时间:
2015-03-10 22:43:35
阅读次数:
138
一、二叉树的结构特性二、二叉树的各种存储结构的特点及适用范围1.顺序存储结构该方法是把二叉树的所有结点按照一定的线性次序存储到一片连续的存储单元中。结点在这个序列中的相互位置还能反映出结点之间的逻辑关系。2、链式存储结构三、二叉树的遍历遍历二叉树,就是遵从某种次序,访问二叉树中的所有结点,使得每个结...
分类:
其他好文 时间:
2015-03-10 17:06:32
阅读次数:
318
#include#include#include using namespace std;#define OK 1#define TRUE 1#define FALSE 0#define ERROR 0typedef int status;//返回的状态值typedef int elemtype;/...
分类:
其他好文 时间:
2015-03-10 16:53:26
阅读次数:
133
1 #include 2 3 #include 4 #include 5 6 using namespace std; 7 8 #define OK 1 9 #define TRUE 110 #define FALSE 011 #define ERROR 012 13 typedef in...
分类:
其他好文 时间:
2015-03-10 16:40:48
阅读次数:
164