顺序表的原理结构就是数组,所以要有成员变量,即数组的长度,和用来模拟顺序的数组,
成员变量有数组长度,和初始化一个数组
定义成员变量`
private T[]shu;//泛型的数组
private int N;//长度为N的数组
构造方法
public biao(int capacity){//初始表,capactity表示该表的容量;
this.shu=(T[])new Object[capacity];//
this.N=0;//将初始化的表设为0;
}
//成员方法有:清空,判断为空,获取长度,删除,添加,指定搜索索引
//清空
public void clear(){
this.N==0;
}
//判断是否为空
public boolean isempty(){
return N==0;//使用返回布尔型的函数,若里边为空返回N=0
//否则返回false;
}
//获取长度
public int length(){
return this.N;
}
//获取数组元素
public T get(int t){//通过索引t返回相对于的数组元素
return shu[t];
}
```//
//添加
```java
public void inser( T t){
shu[N++]=t//默认从表的尾部添加元素,
}
//向指定位置添加元素
public void inser(int i,T t){
for(int index=N-1;index>i;index--){//index=N-1,表示,从末尾元素开始,即N-1,N表示有多少个元素,N-1表示其最后一位上的索引,
shu[index]=shu[index-1];//将i之后的全部元素往后边移动一位;
}
shu[i]=t;
N++;
}
//移除方法
public T remove(int i){//按索引移除数组内的位置,并且返回被移除元素;
for(int index=N-1;index>i;index--){
shu[index]=shu[index+1];
}
N--;
return shu[i];
}
//查找
public boolean indexof(T t){
for(int i=0;i<N;i++){
if(shu[i].equals(t)){
return true;
}
}
else{*
斜体样式
*
return false;
}
}
//时间复杂度:因为for里边的相关变量和数组的长度即N 的大小有关,所以最大的时间复杂度为O(n);