数组不是面向对象的,存在明显的缺陷,集合完全弥补了数组的一些缺点,比数组更灵活更实用,可大大提高软件的开发效率而且不同的集合框架类可适用于不同场合。具体如下: 1)数组的效率高于集合类. 2)数组能存放基本数据类型和对象,而集合类中只能放对象。 3)数组容量固定且无法动态改变,集合类容量动态改变。 ...
分类:
编程语言 时间:
2019-10-22 10:25:35
阅读次数:
117
顺序表 python中的list和tuple就采用了顺序表的实现技术 tuple是不变的表,因此不支持改变其内部状态的任何操作 list是一种元素个数可变的线性表,可以加入和删除元素,在各种操作中维持已有元素的顺序 list对象无法设置容量的操作 单链表: 带有尾节点引用的单链表: ...
分类:
其他好文 时间:
2019-10-16 16:12:50
阅读次数:
78
vector这个容器表示可变数组的序列容器,也是连续的内存空间,我们在理解它的时候就按照顺序表的方式去理解即可。我们在看vector的常用接口时还是将它分类来看:构造与析构、迭代器、元素访问、元素修改、容量。构造---->常用构造方式:std::vector<int>first;//空std::vector<int>second(4,100);//4个值为100的元素
分类:
其他好文 时间:
2019-10-15 10:18:36
阅读次数:
85
一,顺序栈的基本操作 同顺序表和链表一样,栈也是用来存储逻辑关系为 "一对一" 数据的线性存储结构,如图 1 所示。 图 1 栈存储结构示意图 从图 1 我们看到,栈存储结构与之前所学的线性存储结构有所差异,这缘于栈对数据 "存" 和 "取" 的过程有特殊的要求: 2,在栈中,无论是存数据还是取数据 ...
分类:
其他好文 时间:
2019-10-14 23:41:30
阅读次数:
171
题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节 ...
分类:
其他好文 时间:
2019-10-14 12:20:34
阅读次数:
101
Description 对于一个稀疏矩阵,当需要频繁的随机存取任意一行的非零元时,则需要知道每一行的第一个非零元在三元组表中的位置。为此,可以将算法5.2中用来指示“行”信息的辅助数组cpot固定在稀疏矩阵的存储结构中。这种“带行链接信息”的三元组表即为行逻辑链接的顺序表。其类型描述如下: 针对存储 ...
分类:
其他好文 时间:
2019-10-14 01:34:07
阅读次数:
146
转自 https://www.cnblogs.com/rookiefly/p/3425075.html 原作者:Step by Step 经过三天的时间终于把顺序表的操作实现搞定了。(主要是在测试部分停留了太长时间) 1;线性表顺序存储的概念:指的是在内存中用一段地址连续的存储单元依次存储线性表中的 ...
分类:
编程语言 时间:
2019-10-13 13:06:46
阅读次数:
165
stl_iterator_base.h : 迭代器类型萃取、特性; 几个特别的迭代器标签tag:input_iterator_tag、output_iterator_tag、forward_iterator_tag、bidirectional_iterator_tag、random_access_i... ...
分类:
其他好文 时间:
2019-10-10 13:02:14
阅读次数:
149
stl_construct.h : 提供多种构造器、销毁器模板函数; 构造器construct提供了给定值构造和默认构造方式,通过调用重载函数_Construct实现; 销毁器destroy提供了销毁指针和迭代器的方式,通过调用重载函数_Destroy实现; _Construct:通过“放置”new... ...
分类:
其他好文 时间:
2019-10-10 12:56:57
阅读次数:
138
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 int main() 5 { 6 int m,i,j,k,p,mark=1; 7 int math[10000]; 8 scanf("%d",&m); 9 while... ...
分类:
编程语言 时间:
2019-10-08 14:42:06
阅读次数:
148