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. [转载]__type_traits

    在STL中为了提供通用的操作而又不损失效率,我们用到了一种特殊的技巧,叫traits编程技巧.具体的来说,traits就是 通过定义一些结构体或类,并利用模板类特化和偏特化的能力,给类型赋予一些特性, ...

  2. grails通过findBy或findBy查找的结果集进行排序

    原文:http://grails.org/doc/2.3.x/ref/Domain%20Classes/list.html list Purpose Lists instances of the do ...

  3. C语言对数组取地址

    #include <stdio.h> main() { ] = {,,,,}; printf("a=%p\n" , a); printf("a=%p\n&qu ...

  4. TCP客户/服务器程序概述

    一个回射服务器: 1)客户从标准输入读入一行文本,并写给服务器 2)服务器从网络输入读入这行文本,并回射给客户 3)客户从网络输入读入这行回射文本,并显示在标准输出上 回射输入行这样一个客户/服务器程 ...

  5. 多目标遗传算法 ------ NSGA-II (部分源码解析) 目标函数值计算 eval.c

    这部分比较简单,具体的函数数值计算是需要调用设定的目标函数的,此部分一个不能忽略的问题是  超出限制条件的处理 , 故对此加以解释. 首先是包装函数, 核心操作调用  evaluate_ind  实现 ...

  6. Web Service相关工具的配置

    近期在学习Web Service Testing,使用到了soapUI这个工具,但是在学习之前,需要搭建Web Service环境,其中有关数据库的连接问题花费了我好多时间,主要还是自己对于很多配置不 ...

  7. Ant快速入门(三)-----定义生成文件

    适应Ant的关键就是编写生成文件,生成文件定义了该项目的各个生成任务(以target来表示,每个target表示一个生成任务),并定义生成任务之间的依赖关系. Ant生成文件的默认名为build.xm ...

  8. jQuery的选择器中的通配符[id^='code'] 【转】

    JQuery 1.选择器 (1)通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='cod ...

  9. 【技术贴】xp下改变7zip默认关联图标和美化教程

    今天发现7z被还原成了复古样式,就是那种win2000的图标,感觉果然是技术人员做的美工. 于是开始想办法替换掉,自己找到了一个最简单的办法 首先,默认用7z打开 1.随便找到一个7z后缀,然后右键, ...

  10. request.getParameterMap();

    Map<String, String[]> map = request.getParameterMap(); for(Map.Entry<String,String[]> e: ...