数据结构(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;
    }
}

 

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