以下程序在JDK1.5.0_05环境下调试通过,程序分3个文件,放在同一目录下

//List.java      顺序表抽象数据类型的接口定义

public interface List
{
public void insert(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();                                   //是否空
}

//SeqList.java      顺序表类

public class SeqList implements List
{
final int defaultSize = 10;

int maxSize;
int size;
Object[] listArray;

public SeqList()
{
      initiate(defaultSize);
}

public SeqList(int size)
{
      initiate(size);
}

private void initiate(int sz)
{
      maxSize = sz;
      size = 0;
      listArray = new Object[sz];
}

public void insert(int i,Object obj) throws Exception
{
      if(size == maxSize)
      {
       throw new Exception("顺序表已满无法插入!");
      }
      if(i < 0 || i > size)
      {
       throw new Exception("参数错误!");
      }

for(int j = size;j > i;j--)
         listArray[j] = listArray[j-1];

listArray[i] = obj;
      size++;
}

public Object delete(int i) throws Exception
{
      if(size == 0)
      {
       throw new Exception("顺序表已空无法删除!");
      }
      if(i < 0 || i > size-1)
      {
       throw new Exception("参数错误!");
      }
      Object it = listArray[i];
      for(int j = i;j < size-1;j++)
         listArray[j] = listArray[j+1];

size--;
      return it;
}

public Object getData(int i) throws Exception
{
      if(i < 0 || i >= size)
      {
       throw new Exception("参数错误!");
      }
      return listArray[i];
}

public int size()
{
      return size;
}

public boolean isEmpty()
{
      return size == 0;
}

public int MoreDataDelete(SeqList L,Object x) throws Exception
{
      int i,j;
      int tag = 0;

for(i = 0;i < L.size;i++)
      {
       if(x.equals(L.getData(i)))
       {
        L.delete(i);
        i--;
        tag = 1;
       }
      }
      return tag;
}
}

//SeqListTest1.java      示例程序1(主程序)

public class SeqListTest1
{
public static void main(String args[])
{
      SeqList seqlist = new SeqList(100);
      int n = 10;
      try
      {
       for(int i = 0;i < n;i++)
       {
        seqlist.insert(i,new Integer(i+1));
       }

seqlist.delete(4);

for(int i = 0;i < seqlist.size;i++)
       {
        System.out.print(seqlist.getData(i)+"      ");
       }
      }
      catch(Exception e)
      {
       System.out.println(e.getMessage());
      }
}
}

//SeqListTest2.java     示例程序2

public class SeqListTest2
{
public static void main(String args[])
{
    SeqList seqList = new SeqList(100);
    Student[] student;
          student = new Student[3];
          student[0] = new Student(2000001,"张三","男",20);
          student[1] = new Student(2000002,"李四","男",21);
          student[2] = new Student(2000003,"王五","女",22);

int n = 3;
          try
          {
     for(int i = 0;i < n;i++)
     {
      seqList.insert(i,student[i]);
     }

for(int i = 0;i < seqList.size;i++)
     {
      Student st = (Student)seqList.getData(i);
      System.out.println(st.getNumber()+"     "+st.getName()+"     "+st.getSex()+"     "+st.getAge());
     }
    }
    catch(Exception e)
    {
     System.out.println(e.getMessage());
    }
}
}

class Student
{
private long number;
private String name;
private String sex;
private int age;
Student(long number,String name,String sex,int age)
{
    this.number = number;
    this.name = name;
    this.sex = sex;
    this.age = age;
}

public long getNumber()
{
    return number;
}

public String getName()
{
    return name;
}

public String getSex()
{
    return sex;
}

public int getAge()
{
    return age;
}
}

本站原创,转帖请注明出处:http://hi.baidu.com/jadmin/blog/谢谢!

转载于:https://www.cnblogs.com/jadmin/archive/2007/04/29/2206469.html

Java数据结构(1)---顺序表相关推荐

  1. java设计一个顺序表类的成员函数_顺序表代码讲解以及实现

    用C语言编写一个有关顺序表的程序代码 创建一个顺序表,其数据元素类型为整型: 在该顺序表中插入数据(#include #include #define MaxSize 50 typedef char ...

  2. java如何给顺序表赋值_JAVA模拟新增顺序表及单链表

    最近在回顾大学学的数据结构,这里给大家用javwww.cppcns.coma模拟顺序表和单链表的新增 1顺序表新增 /** * 顺序www.cppcns.com表 * * @author cjd * ...

  3. 【数据结构】顺序表的应用(4)(C语言)

    [数据结构]顺序表的应用(1)(C语言) [数据结构]顺序表的应用(2)(C语言) [数据结构]顺序表的应用(3)(C语言) 设计一个算法,将一个顺序表倒置,即如果顺序表各个节点值存储在一维数组a中, ...

  4. 【数据结构】顺序表的应用(3)(C语言)

    问题: 已知一个顺序表中的各节点值是从大到小有序的,设计一个算法,插入一个值为x的节点,使顺序表中的节点仍然是从小到大有序的. 头文件与该头文件一样:[数据结构]顺序表的实现(C语言) #includ ...

  5. 【数据结构】顺序表的应用(2)(C语言)

    问题: 2.有顺序表A和B,其元素均按从小到大的升序排列,编写一个算法,将它们合并成一个顺序表C,要求C的元素也按从小到大的升序排列. 头文件与该头文件一样:[数据结构]顺序表的实现(C语言) #in ...

  6. 【数据结构】顺序表的应用(1)(C语言)

    问题: 1.将顺序表(a1,a2,-,an)重新排列以a1为界的两部分:a1前面的值均比a1小,a1后面的值均比a1大(这里假设数据元素的类型具有可比性,不妨设为整型). 头文件与该头文件一样:[数据 ...

  7. 数据结构 创建顺序表

    3.18数据结构--创建顺序表 运行结果截图: #define _CRT_SECURE_NO_WARNINGS #define MAXSIZE 100 #include<stdio.h> ...

  8. 数据结构之顺序表的删除、查找、遍历

    一.引言 本篇文章作为顺序表新的篇章延续上一篇文章(数据结构之顺序表构造.插入.扩容操作)的内容. 二.顺序表的删除.查找.遍历操作 注:代码实现均为C语言 1.顺序表的删除(erase)操作 当我们 ...

  9. 数据结构_顺序表SeqList(C++

    数据结构_SeqList顺序表(C++实现 文章目录 数据结构_SeqList顺序表(C++实现 前言&注意事项 顺序表实现方法 总结 结束 前言&注意事项 有些函数没有修改成员数据的 ...

  10. Tsai笔记:C++学习随性笔记(2)—— 数据结构:顺序表的基本操作

    Tsai笔记:C++学习随性笔记(2)-- 数据结构:顺序表的基本操作 Tsai三步.(第一步,功能说明.第二步,结果图显示.第三步,代码展示) 第一步,功能说明. 1.线性表的顺序存储 线性表的顺序 ...

最新文章

  1. ELK/EFK — 安装部署(主机安装)
  2. golang编译错误 copying /tmp/go-build069786374/b001/exe/a.out: No such file or directory 解决方法
  3. 基于数据挖掘的旅游推荐APP(五):景点推荐模块
  4. 使用OpenExif修改jpeg图片信息
  5. 《Python编程从入门到实践》记录之文件异常(try-except-else代码块)
  6. 分享一篇SCCM软件更新的故障排除
  7. 【POJ3889】Fractal Streets(分形图)
  8. Android IPC系列(三):Binder概述
  9. Django(二):安装django、创建项目及目录结构说明、在pycharm中搭建
  10. 常见HTTP状态码大全
  11. 关于MAC的pkg和mpkg的分别
  12. 汇编语言程序设计思维导图
  13. 爬虫千万条,守法第一条,爬虫不规范,亲人两行泪
  14. 深度相机Kinect2.0三维点云拼接实验(三)
  15. 华为MA5626 ONU配置成交换机及开启POE指令教程
  16. linux firefox打不开网页,FireFox网页打不开(火狐)
  17. 学生信息管理系统中系统登录问题
  18. 嵌入式 课程设计指导书
  19. 基于jsp的网络在线考试系统
  20. 如何用计算机给手机杀毒,怎么用手机给u盘杀毒

热门文章

  1. OpenGL基础19:法向量与漫反射
  2. HDU 6183 2017广西邀请赛:Color it(线段树)
  3. HDU 6166 2017 多校训练:Senior Pan(最短路)
  4. 利用k-means算法实现图像自动色彩量化
  5. python更换tkinter图标样式
  6. Warning: The TensorFlow library wasn't compiled to use SSE,SSE2,SSE3,SSE4.1 instructions
  7. socket编程---SCTP
  8. Mybatis编写初始化Dao代码
  9. linux 如何连通网络
  10. RocketMQ3.2.6安装部署及调用