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. 自由创造属于你的H5内容

    在这里,你可以自由创造属于你的H5内容  mark下 http://www.ih5.cn/

  2. 跟我学android-Android应用结构分析(四)

    自动生成的R.java文件说明 public final class R { public static final class attr { } public static final class ...

  3. 疯狂学习java web5(SSI框架)

    其实前面的所有只是铺垫,目的只是为了了解现有工程是怎样的.之前直接上来就看,看了很久依然是云里雾里,所以不得已学习点基础知识,前面的基础只是蜻蜓点水一带而过,希望能起部分作用了. 发现struct2有 ...

  4. 支持mdev的init脚本片断

    mount -t tmpfs mdev /dev mount -t sysfs sysfs /sys mkdir /dev/pts mount -t devpts devpts /dev/pts ec ...

  5. Asp.Net Mvc: 浅析TempData机制(转发 作者: Tristan G )

    Asp.Net Mvc: 浅析TempData机制 环境: Windows 2008, VS 2008 SP1, Asp.Net Mvc 1.0 --------------------------- ...

  6. 嵌入式学习笔记(虚拟机共享文件夹配置-Ubuntu系统中)

    最近在学习Linux的操作系统,使用的是虚拟机.由于一些文件需要在主机和虚拟机中都要编辑,如果可以使得文件共享,可以极大的提高工作效率! 配置共享文件的步骤如下: [第一步] 在虚拟机软件中设置 [第 ...

  7. 002-C语言概览

    C语言 关键字: 32个关键字,全是小写 auto double int struct break else long switch case enum register typedef char e ...

  8. centos下安装cdh5

    http://www.aboutyun.com/thread-9075-1-1.html 基本参考这个   yum clean all yum update     1.保证selinux关闭  /e ...

  9. iOS 写入文件保存数据的方式

     在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题.将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好.下面介绍一下数据保存的方式: 1.NSKeye ...

  10. makefile简单介绍

    现在的IDE环境大多是高度集成的,只需要按一个按钮即可完成编译-汇编-链接的工作,但是实际在嵌入式开发的过程中,需要根据实际需要编写个性化的需求,这就需要掌握makefile的写法. 高级IDE的方便 ...