在数据结构中包含两种,一种线性结构(包括顺序表,链表,栈,队列),一种非线性结构(树,图), 顺序表,其实就是在内存动态数组,Java中的ArrayList就是一个典型的顺序表,它在顺序表的基础上增加了扩容机制,单实质还是一个顺序表 下面分三步, 1创建一个顺序表结构, 2.贴出所有操作的代码 3. ...
分类:
编程语言 时间:
2017-04-30 19:22:53
阅读次数:
201
摘要 本文主要借助对C++的标准模板库STL中实现的数据结构的学习和使用来加深对数据结构的理解。即联系数据结构的理论分析和详细的应用实现(STL),本文是系列总结的第一篇,主要针对线性表中的顺序表(动态数组)STL vector进行分析和总结。 引言 因为前段时间对台大的机器学习基石和技法课程进行了 ...
分类:
编程语言 时间:
2017-04-30 12:25:24
阅读次数:
305
数组: #include <iostream> using namespace std; //模板函数 template <class T> void dump(T val) { cout << ">>>>" << __FUNCTION__ << endl;//内置的宏,打印当前函数的名字 cout ...
分类:
编程语言 时间:
2017-04-28 09:20:23
阅读次数:
245
对于几乎没什么工程经验的我来说,找个印象深刻的bug也是一件很难的事情啊。下面还是刚刚接触C语言时候犯过的一个错误, 刚刚接触指针,写了一段代码,通过指针int * pa访问动态数组int *a = (int *)malloc(sizeof(int)*2)。 初始化pa = a; 写了个循环遍历数组 ...
分类:
其他好文 时间:
2017-04-25 13:15:31
阅读次数:
132
再使用泛型的时候,经常需要用到遍历功能: 只要继承了 TEnumerator 或 TEnumerable 这两个抽象类的 都具有遍历功能。 当然没有继承这两个抽象类的 也具有使用 for in 来遍历的功能,编译器内置的,具体可以参见万一的博客: http://www.cnblogs.com/del ...
分类:
编程语言 时间:
2017-04-25 13:13:44
阅读次数:
152
vector模塑出一个动态数组,但是C++标准中并为要求以动态数组来实现vector。??vector是一种有序集合,可以随机访问,提供随机访问迭代器在末端添加或删除元素,vector的效率就非常好;但在前端删除或插入元素的效率就非常低vector优异效率的秘诀就是分配出“较其容纳元素” 的更多内存... ...
分类:
其他好文 时间:
2017-04-22 10:29:59
阅读次数:
152
Java语言和C++语言中的数据结构的对照关系C++中的数组===>Java中的ArrayList(是一个可自动扩充的动态数组)C++中的双链表==》Java中的LinkList(可以从它的方法中可以看出这是一个双链表,其中包括addFirst,,以及removeLast方法,和addLast方法等)。
分类:
编程语言 时间:
2017-04-21 18:09:25
阅读次数:
126
数组是一组有序数据的集合,每个元素都属于同一个数据类型。 一维数组的定义: 类型符 数组名[常量表达式] 常量表达式中,可以包括常量和符号常量,int a[3+5]是合法的。但是不能包含int a[n],C语言不允许动态数组。 子函数中是可以存在int a[2*n]的,但是不能是static局部变量 ...
分类:
编程语言 时间:
2017-04-16 20:23:48
阅读次数:
241
package com.vince.list; import java.util.ArrayList; public class ListDemo { public static void arraylist(){//动态数组 ArrayList list=new ArrayList(); list ...
分类:
编程语言 时间:
2017-04-13 17:13:19
阅读次数:
222