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. }
 
 
 
 

最新文章

  1. 在ESXi 5.x 和 ESXi 6.0.x 中如何安装第三方供应商开发的驱动程序
  2. spread 程序调试时,未激活的提示解决
  3. POJ 1258 Agri-Net(最小生成树 Prim+Kruskal)
  4. Java基础类型与其二进制表示
  5. xctest错误问题解决
  6. sql语句延时执行或者是指定时间执行
  7. Cocos2d-android (05) 渐变动画(颜色,淡入淡出。。。)
  8. 修改的某人的SqlHelper FOR ODBC
  9. live555源码研究(一)------live555MediaServer的启动过程和基本类图
  10. 【matlab】matalb生成dll给Cpp用
  11. Activity的学习
  12. centos无法载入 mcrypt 扩展,&lt;br /&gt;请检查 PHP 配置,经过各种尝试,终于找到了解决办法
  13. AutoMapper使用简单总结
  14. 桥接模式和nat模式的区别
  15. c/c++ 线性表之顺序表
  16. JavaWeb学习 (十七)————JSP属性范围
  17. Justified Jungle
  18. 关于&lt;asp:checkBoxList&gt;控件的对齐方法
  19. BZOJ4078 WF2014Metal Processing Plant(二分答案+2-SAT)
  20. centos7下安装nginx(转)

热门文章

  1. cas sso单点登录系列3_cas-server端配置认证方式实践(数据源+自定义java类认证)
  2. java_annotation_02
  3. 加入BOINC(伯克利开放式网络计算平台)
  4. MySql奇葩问题汇总
  5. Js点餐加减数量
  6. Java多线程中易混淆的概念
  7. 用OpenGL简单编写的一个最简单贪吃蛇游戏
  8. ExtJS 4 组件详解
  9. ClipDrawable 资源
  10. C++类型转换总结