數據結構(2) JS實現順序表的操作

線性表的定義:線性表的順序表示指的是用一組地址連續的存儲單元依次存儲線性表的數據元素,因爲數組也是通過線性表存儲的,所以這裏用數組來寫

let List = [
    {
        message:'第一個數據元素'
    },
    {
        message:'第二個數據元素'
    },
    {
        message:'第三個數據元素'
    },
    {
        message:'第四個數據元素'
    },
    {
        message:'第五個數據元素'
    },
]

let obj = {
    //arr當前數組
    getLength:(arr)=>{       
        return arr.length;
    },
    //arr當前數組
    //index 數組的下標
    getValue:(arr,index)=>{
        return arr[index];
    },
    //arr當前數組
    //str 要查找的值
    find:(arr,str)=>{
        arr.filter(x=>x.message=str);
    },
    //arr當前數組
    //str 要插入的值
    //index 數組的下標
    insert:(arr,str,index)=>{
        if(index>arr.length||index<0){
            throw new Error('index不合法!');
        }else{
            for(let i=arr.length-1;i>=index;i--){
                 arr[i+1]=arr[i];
            }
            arr[index] ={
                message:str
            }
        }
        return arr;

    },
    //arr當前數組
    //index 數組的下標
    del:(arr,index)=>{
        if(index>arr.length||index<0){
            throw new Error('index不合法!');
        }else{
           
            for(let i=index;i<=arr.length-2;i++){
                arr[i]=arr[i+1];
            }
           --arr.length
        }
        return arr;
    },
    //arr當前數組
    //str 要改變的值
    //index 數組的下標
    change:(arr,str,index)=>{
        if(index>arr.length||index<0){
            throw new Error('index不合法!');
        }else{
            arr[index].message = str;
        }
        return arr;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章