基础函数实现(JAVA)
- InitList(int max) 初始化顺序表
- ClearList() 清空顺序表
- ListEmpty() 顺序表判空
- ListLength()顺序表长度
- GetElem(int i) 返回第i个元素的值
- LocateElem(int value) 找到值为value的第1个元素的位置
- ListInsert(int i, int value) 在第i个位置插入值为value的元素
- ListDelete(int i) 删除第i个位置的元素
public class InitList {
private int length;
private int [] list;
public InitList(int max) //构造函数,初始化顺序表,参数为数组的长度
{
this.list = new int[max];
this.length = 0; //初始化顺序表的长度为0
}
public void ClearList(){ //清空顺序表
this.length = 0;
}
public boolean ListEmpty() //判断顺序表是否为空
{
if(this.length==0)
return true;
else
return false;
}
public int ListLength() //返回顺序表的长度
{
return this.length;
}
public int GetElem(int i) //返回顺序表第i个元素的值
{
if(i<1||i>this.length)
return -1;
int t = this.list[i-1];
return t;
}
public int LocateElem(int value) //找到顺序表中第一次出现值为value的元素,并返回为第i个元素
{
if(this.length==0)
return -1;
for(int i = 0; i < this.length; i++)
{
if(this.list[i]==value)
return i + 1;
}
return 0;
}
public int ListInsert(int i, int value) //给顺序表第i个位置插入值为value的元素
{
if(this.length==this.list.length)
return -2;
if(i < 1||i > this.length+1)
return -1;
if(i<=this.length)
{
for(int k = this.length - 1; k > i; k--)
{
this.list[k+1] = this.list[k];
}
}
this.list[i-1] = value;
this.length++;
return 0;
}
public int ListDelete(int i) //删除顺序表中第i个元素
{
if(i<1||i>this.length)
return -1;
if(this.length==0)
return -2;
if(i<this.length)
{
for(int k = i; k >this.length; k++)
this.list[k-1]=this.list[k];
}
this.length--;
return 0;
}
public static void main(String []args) { //主函数
InitList list= new InitList(10);
boolean empty = list.ListEmpty();
int length = list.ListLength();
int insert = list.ListInsert(1,10);
System.out.println(list.ListLength());
System.out.println(list.LocateElem(10));
int delete = list.ListDelete(1);
System.out.println(list.ListLength());
}
}