当前位置: 首页 > wzjs >正文

电子商务网站排名百度一直不收录网站

电子商务网站排名,百度一直不收录网站,网站导航栏隐藏部分怎么做,免费的个人简历电子版环形数组 start 指向第一个有效元素的索引,end 指向最后一个有效元素的下一个位置索引。 注意: start是闭区间,先左移后赋值,先赋值(null)后右移;end是开区间,先赋值再右移,先左移再赋值(null…

环形数组

start 指向第一个有效元素的索引,end 指向最后一个有效元素的下一个位置索引。

注意: start是闭区间,先左移后赋值,先赋值(null)后右移;end是开区间,先赋值再右移,先左移再赋值(null)。

左移减一加size再取模,右移加一再取模。

JS代码实现:

class CycleArray {
constructor(size = 1) {this.size = size;this.arr = new Array(size);// start 指向第一个有效元素的索引,闭区间this.start = 0;// 切记 end 是一个开区间,// 即 end 指向最后一个有效元素的下一个位置索引this.end = 0;this.count = 0;
}resize(newSize) {// 创建新的数组var newArr = new Array(newSize);// 将旧数组的元素复制到新数组中for (var i = 0; i < this.count; i++) {newArr[i] = this.arr[(this.start + i) % this.size];}this.arr = newArr;// 重置 start 和 end 指针this.start = 0;this.end = this.count;this.size = newSize;
}// 在数组头部添加元素,时间复杂度 O(1)
addFirst(val) {// 当数组满时,扩容为原来的两倍if (this.isFull()) {this.resize(this.size * 2);}// 因为 start 是闭区间,所以先左移,再赋值this.start = (this.start - 1 + this.size) % this.size;this.arr[this.start] = val;this.count++;
}// 删除数组头部元素,时间复杂度 O(1)
removeFirst() {if (this.isEmpty()) {throw new Error("Array is empty");}// 因为 start 是闭区间,所以先赋值,再右移this.arr[this.start] = null;this.start = (this.start + 1) % this.size;this.count--;// 如果数组元素数量减少到原大小的四分之一,则减小数组大小为一半if (this.count > 0 && this.count == this.size / 4) {this.resize(this.size / 2);}
}// 在数组尾部添加元素,时间复杂度 O(1)
addLast(val) {if (this.isFull()) {this.resize(this.size * 2);}// 因为 end 是开区间,所以是先赋值,再右移this.arr[this.end] = val;this.end = (this.end + 1) % this.size;this.count++;
}// 删除数组尾部元素,时间复杂度 O(1)
removeLast() {if (this.isEmpty()) {throw new Error("Array is empty");}// 因为 end 是开区间,所以先左移,再赋值this.end = (this.end - 1 + this.size) % this.size;this.arr[this.end] = null;this.count--;// 缩容if (this.count > 0 && this.count == this.size / 4) {this.resize(this.size / 2);}
}// 获取数组头部元素,时间复杂度 O(1)
getFirst() {if (this.isEmpty()) {throw new Error("Array is empty");}return this.arr[this.start];
}// 获取数组尾部元素,时间复杂度 O(1)
getLast() {if (this.isEmpty()) {throw new Error("Array is empty");}// end 是开区间,指向的是下一个元素的位置,所以要减 1return this.arr[(this.end - 1 + this.size) % this.size];
}isFull() {return this.count === this.size;
}size() {return this.count;
}isEmpty() {return this.count === 0;
}
}
http://www.dtcms.com/wzjs/358625.html

相关文章:

  • 有哪些可以在网上做兼职的网站网络推广费用大概价格
  • 天津智能网站建设价位seo实战优化
  • 政府网站建设情况自查报告关键词优化流程
  • 杭州市下城区建设厅网站电商培训机构靠谱吗
  • 蜗牛星际做网站seo排名优化软件免费
  • 做网站用香港服务器好吗推广方案应该有哪些方面
  • 建站开始的前6个月多少外链最合适个人推广网站
  • 台州市环保局网站开发区网络搭建的基本流程
  • 如何建立自己的商城网站汽车品牌推广策划方案
  • wordpress 课程管理系统抖音seo排名优化软件
  • 广东移动宽带官网站网站上不去首页seo要怎么办
  • 梅州建站网络自动发外链工具
  • 微信网站怎么制作桔子seo工具
  • 海洋馆网站建设成都百度网站排名优化
  • 咨询手机网站建设平台百度热度榜搜索趋势
  • 道路建设去什么网站能看到培训班报名
  • 自适应网站做推广深圳疫情防控最新消息
  • 下载软件的网址宁波网络推广优化方案
  • 大数据免费查询平台安卓优化大师手机版下载
  • 全部网站京东关键词优化技巧
  • 什么网站自己做名片好百度竞价推广培训
  • 东莞网站建设推广咨询平台武汉seo优化分析
  • 河南企业网站建设推广链接点击器
  • 怎么自己建设网站搜索引擎优化seo专员招聘
  • 韩都衣舍网站建设策划书新乡搜索引擎优化
  • 上海做网站哪里有江苏seo推广
  • 免费包装设计网站乐山网站seo
  • 拉萨网站建设网络推广熊掌号手机百度助手
  • 做软件与做网站建设有什么区别bt磁力bt天堂
  • 合肥城乡建设局官网海外seo网站推广