数据结构与算法(2)---顺序表

总览

顺序表

定义

顺序表使用数组实现,成员变量有一个静态数组,一个elementNumber代表顺序表的有效长度
当静态数组满了之后需要扩容,申请一直比之前大一倍的数组,将旧数据复制过去

常考操作

插入


时间复杂度:

删除


时间复杂度:

按值查找


时间复杂度:

拓展操作

查找最小元素


逆序顺序表


删除数据


 //根据值删除元素,删除多个
    public void deleteByValue(int value) throws Exception {
        //边扫描边统计不等于value的数,当相等得时候count不再加1
        //并将不等于value的前移到count的位置,最后修改有效元素个数
       //1,2,3,3,3,4
        int count=0;
        for (int i = 0; i < length; i++) {
            if(array[i]!=value){
                array[count]=array[i];
                count++;
            }
        }
        length=count;

    }

删除有序表[a,b]的所有元素


使有序表变为Set


俩个有序表的合并


俩个线性表位置互换


有序表最快查找


数组循环左移n个位置


找出俩升序序列合并后的中位数


找出数组的主元素


找出数组中未出现的最小正整数


原文地址:https://www.cnblogs.com/treasury/p/12739759.html