1. publicclassSeqList{
  2.  
  3.     final int defaultSize =10;     //默认的顺序表的最大长度
  4.     int maxSize;                      //最大长度
  5.  
  6.     int size;                         //当前长度
  7.     Object[] listArray;               //对象数组
  8.  
  9.  
  10.     publicSeqList(){
  11.         init(defaultSize);
  12.     }
  13.  
  14.     publicSeqList(int size){
  15.         init(size);
  16.     }
  17.  
  18.     //顺序表的初始化方法
  19.     privatevoid init(int size){
  20.         maxSize = size;
  21.         this.size =0;
  22.         listArray =newObject[size];
  23.     }
  24.  
  25.     publicvoiddelete(int index) throws Exception
  26.     {
  27.         //容错性
  28.         if(isEmpty()){
  29.             thrownewException("顺序表为空,无法删除!");
  30.         }
  31.         if(index <0|| index > size -1){
  32.             thrownewException("参数错误!");
  33.         }
  34.  
  35.         //移动元素(从前往后操作)
  36.         for(int j = index; j < size -1; j++)
  37.             listArray[j]= listArray[j +1];
  38.  
  39.         listArray[size -1]= null;      //注意释放内存(避免内存泄漏)
  40.         size--;
  41.     }
  42.  
  43.     publicObject get(int index) throws Exception
  44.     {
  45.         if(index <0|| index >= size){
  46.             thrownewException("参数错误!");
  47.         }
  48.  
  49.         return listArray[index];
  50.     }
  51.  
  52.     publicvoid insert(int index,Object obj) throws Exception
  53.     {
  54.  
  55.         //容错性
  56.         if(size == maxSize){
  57.             thrownewException("顺序表已满,无法插入!");
  58.         }
  59.         if(index <0|| index > size){
  60.             thrownewException("参数错误!");
  61.         }
  62.  
  63.         //移动元素(从后往前操作)
  64.         for(int j = size -1; j >= index; j--)
  65.             listArray[j +1]= listArray[j];
  66.  
  67.         listArray[index]= obj;
  68.         size++;
  69.  
  70.     }
  71.  
  72.     public boolean isEmpty(){
  73.         return size ==0;
  74.     }
  75.  
  76.     publicint size(){
  77.         return size;
  78.     }
  79. }
 
 
  1. publicclassTest{
  2.  
  3.     publicstaticvoid main(String[] args){
  4.  
  5.         SequenceListlist=newSequenceList(20);
  6.  
  7.         try{
  8.             list.insert(0,100);
  9.             list.insert(0,50);
  10.             list.insert(1,20);
  11.  
  12.             for(int i =0; i <list.size; i++){
  13.                 System.out.println("第"+ i +"个数为"+list.get(i));
  14.             }
  15.  
  16.         }catch(Exception e){
  17.             e.printStackTrace();
  18.         }
  19.     }
  20. }
 
 
 
 

顺序表JAVA代码的更多相关文章

  1. 数据结构顺序表Java实现

    Java实现顺序表算法:1:首先我们需要定义我们的接口,关于顺序表的一些基本的操作:顺序表中的操作都有增删改查. //List接口 public interface IList { //返回线性表的大 ...

  2. 顺序表----java实现

    最简单的数据结构--顺序表,此处以数组为例. 顺序表的优点:支持随机读取,内存空间利用率高. 顺序表的缺点:1.需要预先给出最大数据元素个数,这往往很难实现. 2.插入和删除时需要移动大量数据. Se ...

  3. jxl解析多个excel工作表-java代码

    @Override public ResultBean txImportDqKpi(String filePath) { ResultBean rb = new ResultBean(); int s ...

  4. 顺序表java实现

    public class SeqList { Object[] data; int maxSize; int length; public SeqList(int maxSize) { this.ma ...

  5. Java实现顺序表

    利用顺序存储结构表示的顺序表称为顺序表. 它用一组连续的地址存储单元一次存放线性表中的数据元素. 顺序表的实现是数据结构中最简单的一种. 由于代码中已经有详细注释,代码外不再阐述. 下次再陈上关于顺序 ...

  6. 线性表中顺序表的的理解和实现(java)

    线性表的顺序表示指的是用一组地址连续的存储单元以此存储线性表的数据元素,这种表示也称作线性表的顺序存储结构或顺序映像.通常,称这种存储结构的线性表为顺序表.特点是:逻辑上相邻的数据元素,其物理次序上也 ...

  7. C:数据结构与算法之顺序表

    顺序表作为数据结构的开端,说明这里面很多基础要学,初学者一开始都会混淆,今天我们来一步一步来建立一个完整的顺序表,可以任我们控制的顺序表,首先先定义一个顺序表 /* Note:Your choice ...

  8. 【数据结构】之顺序表(C语言描述)

    顺序表是线性表的一种,它将元素存储在一段连续的内存空间中,表中的任意元素都可以通过下标快速的获取到,因此,顺序表适合查询操作频繁的场景,而不适合增删操作频繁的场景. 下面是使用 C语言 编写的顺序表的 ...

  9. 顺序表添加与删除元素以及 php实现顺序表实例

    对顺序表的操作,添加与删除元素. 增加元素 如下图所示  对顺序列表 Li [1328,693,2529,254]  添加一个元素 111 ,有三种方式: a)尾部端插入元素,时间复杂度O(1);  ...

随机推荐

  1. 3.AOP入门1

    1.定义1.1基本概念2. 1.定义 1.1基本概念 AOP:aspect object programing面向切面编程 aop编程的要点在于关注点和切入点 关注点:指的是代码中的重复部分,每次实现 ...

  2. hibernate_validator_05

    校验约束 一,认识Validator---Validation中最主要的接口 1.怎么获取一个Validator--Validation.buildDefaultValidatorFactory() ...

  3. Android入门随记

    1.Activity是通过startActivity()开始的,结束后不反回任何结果,而用startActivityForResult(Intent intent, int resquestCode) ...

  4. Animator Override Controllers 学习及性能测试

    本文由博主(YinaPan)原创,转载请注明出处:http://www.cnblogs.com/YinaPan/p/Unity_AnimatorOverrideContorller.html  The ...

  5. gdb调试带参数程序(转:笑笑小白,cnblog http://www.cnblogs.com/rosesmall/archive/2012/04/10/2440514.html)

    一般来说GDB主要调试的是C/C++的程序.要调试C/C++的程序,首先在编译时,我们必须要 把调试信息加到可执行文件中.使用编译 器(cc/gcc/g++)的 -g 参数可以做到这一点.如: > ...

  6. android异常之emulator-arm.exe已停止工作

    我遇到的这个问题通过降低了AVD的分辨率后解决了,估计是电脑的显卡不行.

  7. 封装兼容性添加、删除事件的函数 addEventListener与removeEventListener

    var Event = { addHandler: function (oElement, sEvent, fnHandler) { oElement.addEventListener ? oElem ...

  8. laravel框架——保存用户登陆信息(session)

    public function inlog(Request $request) { //获取表单提交的数据 $input = $request->all(); //根本获取的数据去数据库中查询 ...

  9. java 面试

        115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...

  10. MySQL重置root密码的几种方法(windows+Linux)

    重置root密码的方法: windows系统下:1.停止mysql服务:2.新建文件init-root.txt,写上如下内容: update mysql.user set password = pas ...