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\"); 0
相关文章
读者评论
发表评论 |