专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » java数组:基于数组实现向量(Java实现) »正文

java数组:基于数组实现向量(Java实现)

来源: 发布时间:星期三, 2008年9月10日 浏览:75次 评论:0
1.1相关概念
[定义1.1]向量(Vector),是对数组结构的抽象,也称作数组列表(arraylist)。向量使得我们可以通过下标直接访问/插入/删除序列中的元素,通常将序列的下标称为秩(Rank)。 www.
基于其底层的数据存储结构,又可以通过两种方式实现之。一种是基于顺序存储结构实现的;另一种是基于链式存储结构实现的。

1.2向量接口
[程序1.1Vector.java]
packagecom.data.structure;

importcom.exception.utils.ExceptionBoundaryViolation;

/**向量*/
publicinterfaceVector{
/**返回向量中元素数目*/
publicintgetSize();

/**判断向量是否为空*/
publicbooleanisEmpty();

/**取秩为r的元素*/
publicObjectgetAtRank(intr)throwsExceptionBoundaryViolation;

/**将秩为r的元素替换为obj*/
publicObjectreplaceAtRank(intr,Objectobj)
throwsExceptionBoundaryViolation;

/**插入obj,作为秩为r的元素,返回该元素*/
publicObjectinsertAtRank(intr,Objectobj)
throwsExceptionBoundaryViolation;

/**删除秩为r的元素*/
publicObjectremoveAtRank(intr)throwsExceptionBoundaryViolation;
}


1.3基于数组实现向量
1.3.1代码实现[程序1.2Vector_Array.java]
packagecom.vector.impl;

importcom.data.structure.Vector;
importcom.exception.utils.ExceptionBoundaryViolation;

/**基于数组实现的向量*/
publicclassVector_ArrayimplementsVector{
privateintN=1024;;//数组默认容量
privateintn=0;//数组实际容量
privateObject[]array;//底层数组

publicVector_Array(){
array=newObject[N];
n=N;
}

publicVector_Array(intn){
array=newObject[n];
this.n=n; [Page]
}

//Vectorinterface
/**返回向量中元素数目*/
publicintgetSize(){
returnn;
}

/**判断向量是否为空*/
publicbooleanisEmpty(){
return0==n;
}

/**取秩为r的元素*/
publicObjectgetAtRank(intr)throwsExceptionBoundaryViolation{
if(0>r||r>=n)
thrownewExceptionBoundaryViolation(\"BoundaryViolation\");
returnarray[r];
}

/**将秩为r的元素替换为obj*/
publicObjectreplaceAtRank(intr,Objectobj)
throwsExceptionBoundaryViolation{
if(0>r||r>=n)
thrownewExceptionBoundaryViolation(\"BoundaryViolation\");
Objectbak=array[r];
array[r]=obj;
returnbak;
}

/*publicObjectinsertAtRank(intr,Objectobj)
throwsExceptionBoundaryViolation{
if(0>r||r>=n)
thrownewExceptionBoundaryViolation(\"BoundaryViolation\");
标签:java数组

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: