顺序表中元素的物理存储和逻辑存储都是连续的。
题目描述:在长度为n的顺序表的第k个位置之后,插入x。
实现顺序操作的类:
public class CSeq {
int elem[]; //构成顺序表的数组
int length;
CSeq() //构造顺序表的函数
{
elem = new int[100];
length = 10;//初始化长度
}
void display() //顺序表的遍历显示
{
for(int i=0;i<length;i++){
System.out.print(elem[i]+" ");
}
System.out.println();//换行
}
void insert(int x,int k) throws Exception
{
if(k>length||k<0)
throw new Exception("位置错误");
for(int i=length-1;i>=k;i--){
elem[i+1]=elem[i];
length++;
}
elem[k]=x;
}
}
主函数:
public class seq001 {
public static void main(String args[]) throws Exception
{
CSeq A=new CSeq();
for(int i=0;i<A.length;i++){
A.elem[i]=i;
}
A.insert(100,5);
//A.insert(200,4,5);
A.display();
}
}
结果:
(连续插入m个x暂未实现。。)