线性表
主要的基本运算有插入、删除、查找。常采用顺序存储和链式存储进行实现
线性结构:线性表、栈、队列、数组、和串
非线性结构:二维数组、多维数组、广义表、树(二叉树)、图
含有n个元素的线性表采用顺序存储等概率删除其中任意一个元素平均要移动【n-1/2】个元素
读定位--顺序表最好 查找--同样 插入、删除--链表最好
偏移量:元素个数*每个元素占用的单元数
存储位置:偏移量+数组首地址
顺序表的插入和删除操作
//顺序表插入表的操作
public boolean insert(int i,int a){ // i 代表插入的位置 , a 代表插入的数字
int j;
if(length>=data.length){ // 如果数组的长度大于的等于数组的长度则表满
System.out.println("The table is overflow");
return false;
}
if(i<0||i>length){ //插入位置是否正确
System.out.println("The position is mistake"+i);
return false;
}
for (j=length-1;j>=i;j--){
data[j+1]=data[j];
data[i]=a;
length++;
}
return true;
}
// 顺序表删除表的操作
public boolean delete(int i){
int j;
if(i<0||i>length){
System.out.println("The position is mistack");//检查删除位置是否存在
return false;
}
for(j=i;j<length;j++){
data[j]=data[j+1];
length--;
}
return true;
}
每天加油,有进步一点点---------