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. 由问题引出的fsck命令

    博客停了两天,今天打开linux虚拟机,突然间报错了,顿时心中一喜(是吗?),当时看了下错误说明,好像有关于时间的问题(某个时间是未来时间)..然后我就去兴匆匆的修改系统时间,重启...唉,没作用.只 ...

  2. 处理 InnerException 最佳方案?

    如何获取 innerException 内部错误信息 String innerMessage = (ex.InnerException != null) ? ex.InnerException.Mes ...

  3. cocos2d-x把json数据解析到数组或字典中(libjson库)

    以前在cocos2d-x项目中用到json解析,集成了libjson库后发现网上提供的解析方法大多是在解析过程中取得值,并没有将解析结果有效的保存起来,于是摸索一番,把解析结果根据数据格式存到数组或字 ...

  4. mybatis框架搭建学习初步

    mybatis框架搭建步骤:1. 拷贝jar到lib目录下,而且添加到工程中2. 创建mybatis-config.xml文件,配置数据库连接信息 <environments default=& ...

  5. Netbeans8下 Weblogic EJB案例

    1:接口 @Remote public interface XgmZzsNssb {} 2:实现 @Stateless(mappedName="XgmZzsNssbImpl") @ ...

  6. 001Spark文件分析测试

    使用spark-1.4.1-bin-hadoop2.6进行处理,测试文件大小为3G, 测试结果: 1:统计一个文件中某个字符的个数 scala> sc.textFile("/home/ ...

  7. IIS principle

    IIS Request | | | Application Pool Config | | | W3WP | | | Many Module | | | AppDomain:这才是.NET的入口 | ...

  8. cf D. Vessels

    http://codeforces.com/contest/371/problem/D 第一遍写的超时了,然后看了别人的代码,思路都是找一个点的根,在往里面加水的时候碗中的水满的时候建立联系.查询的时 ...

  9. 简单的猜数字(JAVA版)

    按书上的样例来操作的. 不过,书上提到的BUG,我没有在看下一章时就解决了哈.. 从网上查找的删除数组元素的方法. 其实,将数据结构更改为ARRAYLIST,可能更简单.:) GameHelper.j ...

  10. 单片机C语言编程规范

    一.基本要求 1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行. 1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序. 1.3 尽量使用标准库函数和公共函数. 1.4 不要 ...