集合可以说是数组的超集,集合可以维护对象数组,集合包含了更高级的功能。例如控制对其包含的对象的访问、搜索和排序等。数组是固定的,一旦我们创建好了数组,不能在现有数组的末尾添加新项,除非我们创建新的数组。 C#中的数组实现为System.Array类的实例,它们只是集合类中的一种,集合类的功能重要通过...
分类:
Web程序 时间:
2014-11-14 21:07:37
阅读次数:
256
1.ArrayList 是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。适合随机查找和遍历,不适合插入和删除。2.Vector 与ArrayList一样,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要...
分类:
编程语言 时间:
2014-11-12 21:12:38
阅读次数:
253
一.ArrayList1. ArrayList底层采用数组实现,当使用不带参数的构造方法生成ArrayList对象时,实际上会在底层生成一个长度为10的Object类型数组2. 如果增加的元素个数超过了10个,那么ArrayList底层会新生成一个数组,长度为原数组的1.5倍+1,然后将原数组的内容...
分类:
编程语言 时间:
2014-11-12 19:24:59
阅读次数:
172
剑指offer中题目:http://ac.jobdu.com/problem.php?pid=1516
题目描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
输入:
每个输入文件包含一组测试案例。
对于每个测试案例,第一行输入...
分类:
编程语言 时间:
2014-11-11 12:45:52
阅读次数:
202
一、静态单链表在不支持动态空间分配的环境中,要使用链表存储数据,那么可采用静态链表的方法:即在一块预分配的存贮空间中,用下标作为指针链来构成链式结构。//既然是静态链表,那么可以使用一维数组实现存储,java没有指针,那么就用这来使用链表结构//在不支持动态空间分配的环境中,要使用链式结构技术,可采...
分类:
其他好文 时间:
2014-11-09 23:26:33
阅读次数:
269
原创性申明:
本文地址是 http://blog.csdn.net/zhujunxxxxx/article/details/40658925 转载请注明出处。作者联系邮箱 zhujunxxxxx@163.com
二叉排序树
(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索树。
它或者是一棵空树;或者是具有下列性质的二叉树:
(1)若...
分类:
编程语言 时间:
2014-11-08 22:15:05
阅读次数:
211
线性表的定义:N个数据元素的有限序列线性表从存储结构上分为:顺序存储结构(数组)和 链式存储结构(链表)顺序存储结构:是用一段连续的内存空间存储表中的数据L=(a1,a2,a3....an)链式存储结构:是用一段一段连续的内存空间存储表中每一行的数据,段与段之间通过一个引用(指针)相互连接来,形成一...
分类:
编程语言 时间:
2014-11-08 13:17:55
阅读次数:
296
首先是定义栈的基本结构,因为用数组实现
private String[] stack;
private int TOP = 0;
然后是构造方法
StackOfStrings(int capacity) {
stack = new String[capacity];
}
然后是push,注意,TOP永远指向的是压入元素的后一位。
public void push(Str...
分类:
编程语言 时间:
2014-11-06 02:07:02
阅读次数:
156
关于无锁队列的概念与实现,可以参考博文《无锁队列的实现》,主要涉及到的知识点包括CAS原子操作、无锁队列的链表实现、无锁队列的数组实现以及ABA问题。 下面借鉴了《多线程的那点儿事(之无锁队列)》的代码,说明两个线程(一个添加一个读取数据)之间的无锁队列,可以不借助线程互斥方法就能够达到并行效...
分类:
编程语言 时间:
2014-11-04 10:36:38
阅读次数:
226