《线性表的类表示——数据结构JAVA》

来源:互联网 发布:企业公告软件哪家好 编辑:程序博客网 时间:2024/06/09 01:08

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:    《线性表的类表示——数据结构JAVA》                         
* 作    者:       刘江波                      
* 完成日期:    2012     年    10   月   12     日
* 版 本 号:    V2.0     

* 对任务及求解方法的描述部分
* 问题描述:线性表的基本运算 
* 程序头部的注释结束
*/

public class LinearList {private int[] data; //线性表以数组形式存放private int MaxSize;//表空间的最大范围private int Last;   //表当前结点个数,即表长//构造函数public LinearList(int MaxSize) {if(MaxSize>0){this.MaxSize = MaxSize;Last = 0;//创建表空间data = new int [MaxSize];}}//判断线性表是否为空public boolean ListEmpty(){return (Last <=0)?true:false;}//判断线性表是否已满public boolean ListFull(){return(Last >= MaxSize)?true:false;}//求线性表的长度public int ListLength(){return Last;}//求线性表中第i个结点的值public int GetElem(int i){//若存在,返回结点,否则,返回null;return(i<0||i>Last)?null:data[i];}//查找线性表中值为x的结点public int LocateElem(int x){//查找表中值为x的结点,找到则返回该结点的序号;否则返回-1;//若表中值为x的结点有多个,找到的是最前面的一个;for(int i=0;i<Last;i++){if(data[i] == x)return i;}return -1;}//在线性表中第i个位置插入值为x的结点public boolean InsertElem(int x,int i){//在表中第i个位置插入值为x的结点//若插入成功,则返回true,否则返回false//插入位置不合理,插入失败if(i<0||i>Last||Last == MaxSize)return false;else{//后移for(int j = Last;j>i;j--)data[j] = data[j-1];//插入data[i] = x;//表长增一Last++;return true;}}//删除线性表的第i个结点public boolean DeleteElem(int i){//删除表中第i个结点,若成功,返回true;否则返回false;//第i个结点不存在,删除失败;if(i<0||i>=Last||Last == 0)return false;else{//前移for(int j=i;j<Last-1;j++)data[j] = data[j+1];//表长减1Last--;return true;}}public void display(){System.out.println("当前链表长度:"+ ListLength());for(int i=0;i<Last;i++){System.out.println("第"+i+"结点为:"+data[i]);}}}

原创粉丝点击