package SuanFanTable;
import org.omg.CORBA.Object;
class SequenceList {
//构造方法
//SequenceList(int capacity):创建容量为capacity的SequenceList对象
//成员方法
//成员变量
// 1.private T[] eles:存储元素的数组
//2.private int N:当前线性表的长度
//存储元素的数组
private T[] a;
//记录顺序表中的元素个数
private int N;
//构造方法
public SequenceList(int capacity)
{ //初始化数组
this.a=(T[])new Object[capacity];
this.N=0;
}
//将一个线性表置为空表
public void reset() {
this.N=0;
}
//判断当前线性表是否为空表
public boolean isEmpty()
{
return N==0;
}
//获取线性表的长度
public int length()
{
return N;
}
//获取指定位置的元素
public T get(int i)
{
return a[i];
}
//向线性表中添加元素
public void insert(T t)
{
a[N++]=t;
}
//在i元素处插入元素t
public void insert(int i,T t)
{
//先把i索引处的元素及其后面索引处的元素依次向后移动一位
for(int index=N-1;index>i;index--)
{
a[index]=a[index-1];
}
//再把t元素放到i元素处即可
a[i]=t;
}
//删除指定位置i处的元素,并返回该元素
public T remove(int i)
{
//记录索引i处的值
T current=a[i];
//索引i后面的元素依次向前移动一位即可
for(int index= i;index
a[index]=a[index+1];
}
N--;
return current ;
}
//查找t元素第一次出现的位置
public int indexOf(T t)
{
for(int i=0;i
if(a[i]==t)
{
return i;
}
}
return -1;
}
public static void main(String[] args)
{
//创建顺序表对象
SequenceLists =new SequenceList<>(10);
//测试插入
s.insert("姚明");
s.insert("小明");
s.insert("小王");
s.insert(1,"科比");
//测试获取
String gets=s.get(1);
System.out.println("索引1处的结果为:"+gets);
//测试删除
String removeresult =s.remove(0);
System.out.println("删除的元素是:"+removeresult);
//测试清空
s.reset();
System.out.println("清空后的元素个数为:"+s.length());
}
}