首页 > 其他 > 详细

顺序存储结构实现查询、删除、插入、末尾增加

时间:2020-10-27 12:23:02      阅读:27      评论:0      收藏:0      [点我收藏+]

顺序存储结构查询时间复杂度 O(1),插入和删除时间复杂度 O(n)

class LinearList{
    constructor() {  
        this.arr = [];
    }
    // 查询某位置的元素
    getElementAt(position) {
        return this.arr[position];
    } 
    // 在末尾增加元素
    append(element){
        this.arr[this.arr.length] = element; 
    }
    // 某位置插入元素 当前位置到结尾倒序 后一位=前一位
    insert(position, elements) { 
        if(position <= this.arr.length){ 
            // let originLen = this.length;
            elements.forEach(element => {
                for(let i = this.arr.length - 1; i >= position; i--){
                    this.arr[i+1] = this.arr[i]; 
                }
                this.arr[position] = element;   
            })  
        }else{
            elements.forEach(element => {
                this.arr[position] = elements; 
            })
        } 
    }
    // 在某位置删除元素 当前位置到结尾正序 前一位=后一位
    delete(position, count) {
        if(position >= this.arr.length) {
            return;
        }else{ 
            for(let i = 0; i < count; i++){
                for(let j = position; j < this.arr.length - 1; j++){
                    this.arr[j] = this.arr[j+1];
                }
                this.arr.length--;
            } 
        }
    } 
    // 清空数组
    clear() {
        this.arr = [];
    }
}

 

顺序存储结构实现查询、删除、插入、末尾增加

原文:https://www.cnblogs.com/Isabel-1996/p/13883932.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!