文件名称:java基于可扩充数组的向量实现(算法源码)
文件大小:2KB
文件格式:RAR
更新时间:2013-02-04 07:00:04
java,算法,数组,向量,算法源码
/*
* 基于可扩充数组的向量实现
*/
package dsa;
public class Vector_ExtArray implements Vector {
private int N = 8;//数组的容量,可不断增加
private int n;//向量的实际规模
private Object A[];//对象数组
//构造函数
public Vector_ExtArray() { A = new Object[N]; n = 0; }
//返回向量中元素数目
public int getSize() { return n; }
//判断向量是否为空
public boolean isEmpty() { return (0 == n) ? true : false; }
//取秩为r的元素
public Object getAtRank(int r)
throws ExceptionBoundaryViolation {
if (0 > r || r >= n) throw new ExceptionBoundaryViolation("意外:秩越界");
return A[r];
}
//将秩为r的元素替换为obj
public Object replaceAtRank(int r, Object obj)
throws ExceptionBoundaryViolation {
if (0 > r || r >= n) throw new ExceptionBoundaryViolation("意外:秩越界");
Object bak = A[r];
A[r] = obj;
return bak;
}
//插入obj,作为秩为r的元素;并返回该元素
public Object insertAtRank(int r, Object obj)
throws ExceptionBoundaryViolation {
if (0 > r || r > n) throw new ExceptionBoundaryViolation("意外:秩越界");
if (N <= n) {//空间溢出的处理
N *= 2;
Object B[] = new Object[N];//开辟一个容量加倍的数组
for (int i=0; i
【文件预览】:
java基于可扩充数组的向量实现(算法源码)
----Vector.java(588B)
----Vector_ExtArray.java(2KB)