线性表=顺序存储结构 +链式存储 结构
顺序存储结构:物理上连续(arraylist、数组)
增删改查排序
数组 插入:public void insert(array[],int x;int index){
for(int i=array.length-1;i>index;i--){
array[i]=array[i-1];
}
array[index]=x;
}
数组删除:
for(int i=index;i<array.length;i++){
array[i]=array[i+1]
}
array[array.length-1]=0;//最后一个
冒泡排序 :第一轮最大值到最后一位,像冒泡一样
(斗牛用的冒泡算法)
for(int j=array.length-1;j>0;j--){
boolean flag=true;
for(int i=0;i<j;i++){
if(array[i]>array[i+1){
int temp=array[i];
int array[i]=array[i+1};
array[i+1]=temp;
flag=false;
}
}
if(flag){break;}
选择排序:
链式存储结构:物理地址不见的连续,但是有相互联系
最基本的线性存储结构:数组
ArrayList:顺序存储线性表、object数组、增删改查、迭代器
删除的时候注意不能在for循环中直接删除,因为数组长度会有变化,而应该像源码中 System.arraycopy(),将新数组返回。
add()
LinkedList:链式存储结构
网友评论