java线性表的增删改查

原创 2018年04月15日 11:11:16


接口的定义

public interface List {



public void insert(int i,Object obj)throws Exception;

public void update(int i,Object obj)throws Exception;

public Object delete(int i)throws Exception;

public Object getData(int i)throws Exception;

public int size();

public boolean isEmpty();

}




import java.util.Scanner;


public class ListGraph implements List{


//定义常量 默认长度 最大长度 当前长度 对象数组存储线性表
final int defaultlength=10;
int maxlength;
int size;
Object[] list;
//初始化方法
public void init(int sz){
maxlength=sz;
size=0;
list=new Object[sz];
}
    //构造器
public ListGraph(){
init(defaultlength);
}
public ListGraph(int maxlength){
init(maxlength);
}
public void test() throws Exception{
Scanner input=new Scanner(System.in);
  int num;
  int i;
  String obj;
  do {
  System.out.println("1.增加2.替换3.删除4.查看5.查看全部");
  num= input.nextInt();
  switch (num) {
case 1:
System.out.println("插入点为");
i=input.nextInt();
System.out.println("插入的数据");
obj=input.next();
insert(i,obj);
break;
            case 2:
            System.out.println("替换点为");
i=input.nextInt();
System.out.println("替换的数据");
obj=input.next();
update(i, obj);
            break;
            case 3:
            System.out.println("删除点为");
i=input.nextInt();
delete(i);
            break;
            case 4:
            System.out.println("查看点");
            i=input.nextInt();
System.out.println(getData(i));
             break;
             case 5:
              getAll();
              break;
default:
break;
}

} while (num<6);
}


public static void main(String[] args) {
     ListGraph aGraph=new ListGraph();
     try {
aGraph.test();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
   
   
}



    //增加
public void insert(int i, Object obj) throws Exception {
if (size==maxlength) {
throw new Exception("线性表已满");
}
if (i>size) {
throw new Exception("插入下标有误");
}
for(int j=size;j>i;j--)
{
list[j]=list[j-1];
}
list[i]=obj;
size++;
}


    //替换
public void update(int i, Object obj) throws Exception {
      if (i>size-1) {
throw new Exception("插入下标有误");
}
      if (size==0) {
throw new Exception("线性表为空");

}
      list[i]=obj;
      
      

}




public Object delete(int i) throws Exception {
if (i>size-1) {
throw new Exception("插入下标有误");
}
     if (size==0) {
throw new Exception("线性表为空");

}
     Object del=list[i];
     for(int j=i;j<size-1;j++){
     list[j]=list[j+1];
     }
     size--;
return del;
}




public Object getData(int i) throws Exception {
if (i>size-1) {
throw new Exception("插入下标有误");
}
     if (size==0) {
throw new Exception("线性表为空");

}
return list[i];
}
public void getAll(){
for(int j=0;j<size;j++){
System.out.print(list[j]+"  ");
}
System.out.println("");

}




public int size() {


return size;
}




public boolean isEmpty() {


return size==0;
}


}

用InstallShield制作数据库应用系统的安装程序(2000年8月17日) 作者:新疆 宗宏斌

  Delphi具有强大的数据库应用程序开发功能,其Client/Sever版本可以开发一般的单机数据库应用系统、普通Client/Sever应用系统直至基于Web的多层应用,其中自然离不开Borla...
  • ghj1976
  • ghj1976
  • 2000-09-14 14:52:00
  • 2589

JAVA采用数组结构实现一个线性表,可以增删改查,类似于ArrayList

工作中我们经常使用到集合框架,
  • jm330
  • jm330
  • 2014-08-12 17:32:55
  • 1148

线性表顺序结构增删改查

上次的博客我写了对于线性表的两种简单实现,今天我写一下对于线性表顺序结构的增、删、改、查的几种方式的实现。 #include char v[30];//上来你要设定一个数组来存储你的数据,这个数组...
  • Hanani_Jia
  • Hanani_Jia
  • 2017-09-24 11:25:32
  • 458

线性表的顺序存储 增删改查功能

  • 2014年03月16日 12:09
  • 1KB
  • 下载

第三章线性表之一切从增删改查开始

首先来一点点的概念                        一,一两个重要的概念                              关于概念的学习提示:看看就好,后面你熟练了再返回来...
  • yfqnihao
  • yfqnihao
  • 2012-10-13 03:30:57
  • 1365

线性表的“增删改查”

#include #define MAXSIZE 20 #define ERROR 0 #define OK 1 typedef int ElementType; typedef ...
  • qq_37018433
  • qq_37018433
  • 2016-12-13 23:22:51
  • 260

一个增删改查插的线性表(一)

    又是美好的一天结束了,为了让被催作业的每一天过得不是那么痛苦,睡觉之前上传一下最近写的一个拥有初始化、增删改查、指定位置读取、修改,插入元素,读取指定位置下标的一个链表代码seqlist.h#...
  • HanMamnHanah
  • HanMamnHanah
  • 2018-03-27 09:27:05
  • 22

顺序表的增删改查实现

概念我们先说说线性表,线性表的基本特点: 同一性:线性表存储的所有数据都是同类型数据 有穷性:线性表的数据个数是有限的,表长为数据中元素的个数(连续) 有序性:相邻元素存在序偶关系 顺序存储:内存中用...
  • xi_2130
  • xi_2130
  • 2016-01-26 00:38:06
  • 950

线性表的完善增删改查

#include #include #include #define OK 1 #define ERROR 0 typedef int Status; typedef int Ele...
  • qq_37018433
  • qq_37018433
  • 2016-12-14 16:41:37
  • 146

顺序表上进行增,删,查,改操作,C++实现

顺序表上进行增,删,查,改操作,C++实现
  • woaijianjiandandande
  • woaijianjiandandande
  • 2016-10-18 23:05:24
  • 917
收藏助手
不良信息举报
您举报文章:java线性表的增删改查
举报原因:
原因补充:

(最多只允许输入30个字)