public class SeqList {
private static final int MAXSIZE = 10;// 定义顺序表的最大存储容量
private int last; // 用于顺序表的最后一个元素的存储位置
private int[] data;
SeqList() {
InitSeqList(MAXSIZE);
}
private void InitSeqList(int size) {
data = new int[MAXSIZE];
last = -1;
}
public int GetLength() {
return last + 1;
}
public void GetSeqList() { // 取得 顺序表中的每个元素 ,并输出
for (int j = 0; j < this.data.length; j++) {
System.out.println("第" + (j + 1) + "个数据元素是:" + this.data[j]);
}
}
public int InsertSeqList(int i, int x) {
int j;
if (last == MAXSIZE - 1) {
System.out.println("表中满员了");
return -1;
}
if (i < 1 || i > last + 2) {
System.out.println("插入位置错误");
return -1;
}
for (j = last; j >= i - 1; j--)
data[j + 1] = data[j]; // 移动元素结点
data[i - 1] = x; // 插入元素
last++;
return 1;
}
public int DeleteSeqList(int i) { // 删除指定位置的元素
int j;
if (i < 1 || i > last + 1) {
System.out.println("你要删除的元素不存在");
return 0;
}
for (j = i; j <= last; j++)
data[j - 1] = data[j]; // 移动元素结点
last--;
return 1;
}
public int LocationSeqList(int x) {
int i = 0;
while (i <= last && data[i] != x)
i++;
if (i > last)
return -1;
else
return i;
}
public int GetMax() { // 取得顺序表中的最大值
int temp = 0;
for (int i = 0; i < this.data.length; i++) {
if (temp < this.data[i])
temp = this.data[i];
}
return temp;
}
}
public class Test {
public static void main(String[] args) {
SeqList s = new SeqList();
System.out.println("顺序表的初始长度是:"+s.GetLength());
s.InsertSeqList(1, 11);
s.InsertSeqList(2, 22);
s.InsertSeqList(3, 33);
s.InsertSeqList(4, 44);
s.InsertSeqList(5, 55);
s.InsertSeqList(6, 66);
s.InsertSeqList(7, 77);
s.GetSeqList();
s.DeleteSeqList(6);
System.out.println(“查找44的元素位置是:”+s.LocationSeqList(44));
System.out.println(“顺序表最大值是:”+s.GetMax());
}
}