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

网站建设基本流程费用专业网站建设公司

网站建设基本流程费用,专业网站建设公司,做家装图接单网站,河南新站关键词排名优化外包Deque双端队列,一直在使用,却从未了解过源码。 内部逻辑其实很简单 可扩容数组循环队列,循环栈扩容倍数1.5,sizesize(size shr 1)只从两端存取元素 fun main() {val deque MyArrayDeque()repeat(16) {deque.addLast(it)}while …

Deque双端队列,一直在使用,却从未了解过源码。
内部逻辑其实很简单

  1. 可扩容数组
  2. 循环队列,循环栈
  3. 扩容倍数1.5,size=size+(size shr 1)
  4. 只从两端存取元素
fun main() {val deque = MyArrayDeque()repeat(16) {deque.addLast(it)}while (deque.isNotEmpty()) {println(deque.removeLast())}}class MyArrayDeque {// 存元素,不能存null,初始容量为16,避免频繁扩容,一次扩容1.5倍private var arr = arrayOfNulls<Int>(16)// 头尾节点,tail一直为nullprivate var head: Int = 0private var tail: Int = 0// 实际容量private var size: Int = 0fun addFirst(value: Int) {// 扩容grow()head = dec(head)arr[head] = valuesize++}fun addLast(value: Int) {// 扩容grow()arr[tail] = valuetail = inc(tail)size++}fun removeFirst(): Int {if (isEmpty()) {return -1}val res = arr[head]!!head = inc(head)size--return res}fun removeLast(): Int {if (isEmpty()) {return -1}tail = dec(tail)size--return arr[tail]!!}// 加一fun inc(i: Int) = if (i == arr.lastIndex) 0 else i + 1// 减一fun dec(i: Int) = if (i == 0) arr.lastIndex else i - 1// 扩容,内部不一定扩容private fun grow() {// 至少还有一个容量if (size < arr.size - 1) {return}// 一次扩容1.5倍val newArr = arrayOfNulls<Int>(arr.size + (arr.size shr 1))// 从0开始if (head < tail) {for (i in head..<tail) {newArr[i - head] = arr[i]}} else {// 临时下标var index = 0// 现存头部for (i in head..arr.lastIndex) {newArr[index++] = arr[i]}// 尾部移动后面for (i in 0..<tail) {newArr[index++] = arr[i]}}// 扩容后,head和tail重新计算arr = newArrhead = 0tail = size}fun size() = sizefun isEmpty() = size() == 0fun isNotEmpty() = size() > 0override fun toString(): String {if (size == 0) {return ""}val sb = StringBuilder()if (head < tail) {for (i in head..<tail) {if (sb.isNotEmpty()) {sb.append(", ")}sb.append(arr[i])}} else {for (i in head..arr.lastIndex) {if (sb.isNotEmpty()) {sb.append(", ")}sb.append(arr[i])}for (i in 0..<tail) {// 此时一定有至少一个元素,不用判断sb.append(", ").append(arr[i])}}return sb.toString()}
}

文章转载自:
http://dinncocarcinogenic.zfyr.cn
http://dinncoshodden.zfyr.cn
http://dinncoicf.zfyr.cn
http://dinncoconjunctivitis.zfyr.cn
http://dinncoinvisible.zfyr.cn
http://dinncodownload.zfyr.cn
http://dinncoflic.zfyr.cn
http://dinncotraverse.zfyr.cn
http://dinncopuncta.zfyr.cn
http://dinncostructuralist.zfyr.cn
http://dinncohandwoven.zfyr.cn
http://dinncoethereality.zfyr.cn
http://dinncohorribly.zfyr.cn
http://dinncohyperhepatia.zfyr.cn
http://dinncocornhusk.zfyr.cn
http://dinncosteenbok.zfyr.cn
http://dinncobarrage.zfyr.cn
http://dinncohumpty.zfyr.cn
http://dinncooxid.zfyr.cn
http://dinncocobwebbery.zfyr.cn
http://dinncopadre.zfyr.cn
http://dinncozootomist.zfyr.cn
http://dinncoeris.zfyr.cn
http://dinncojuicehead.zfyr.cn
http://dinncoprosecution.zfyr.cn
http://dinncocutlery.zfyr.cn
http://dinncoasme.zfyr.cn
http://dinncoperibolus.zfyr.cn
http://dinncowordless.zfyr.cn
http://dinncooutsourcing.zfyr.cn
http://dinncotetramethylene.zfyr.cn
http://dinncogummiferous.zfyr.cn
http://dinncoemeritus.zfyr.cn
http://dinncostripchart.zfyr.cn
http://dinncoobturator.zfyr.cn
http://dinncofrisette.zfyr.cn
http://dinncosloppy.zfyr.cn
http://dinnconictation.zfyr.cn
http://dinncornase.zfyr.cn
http://dinncoeponychium.zfyr.cn
http://dinncocomplacence.zfyr.cn
http://dinncopule.zfyr.cn
http://dinnconiacin.zfyr.cn
http://dinncoreprimand.zfyr.cn
http://dinncoanurous.zfyr.cn
http://dinncogaberones.zfyr.cn
http://dinnconarrowfisted.zfyr.cn
http://dinncohouyhnhnm.zfyr.cn
http://dinncoincomputable.zfyr.cn
http://dinncodihybrid.zfyr.cn
http://dinncochatoyancy.zfyr.cn
http://dinncoappend.zfyr.cn
http://dinncoserigraphy.zfyr.cn
http://dinncoelectrotypy.zfyr.cn
http://dinncoyakutsk.zfyr.cn
http://dinncooopm.zfyr.cn
http://dinncotubulure.zfyr.cn
http://dinncongoma.zfyr.cn
http://dinncoatony.zfyr.cn
http://dinncoassertative.zfyr.cn
http://dinncoquadruplex.zfyr.cn
http://dinncondea.zfyr.cn
http://dinncodaf.zfyr.cn
http://dinncotrichinella.zfyr.cn
http://dinncocameralistics.zfyr.cn
http://dinncocaid.zfyr.cn
http://dinncomagnetoconductivity.zfyr.cn
http://dinncodyarchy.zfyr.cn
http://dinncoquantometer.zfyr.cn
http://dinncodissimulation.zfyr.cn
http://dinncoisogamy.zfyr.cn
http://dinncolatinesque.zfyr.cn
http://dinncohyperkinesia.zfyr.cn
http://dinncolayelder.zfyr.cn
http://dinncoshearling.zfyr.cn
http://dinncosexto.zfyr.cn
http://dinncoencephalocele.zfyr.cn
http://dinncobva.zfyr.cn
http://dinncodistrust.zfyr.cn
http://dinncotuberculum.zfyr.cn
http://dinncosialidase.zfyr.cn
http://dinncohackwork.zfyr.cn
http://dinncoviscerotropic.zfyr.cn
http://dinncopolyglottous.zfyr.cn
http://dinncounlinguistic.zfyr.cn
http://dinncoheterochromatic.zfyr.cn
http://dinncobarococo.zfyr.cn
http://dinncoaverroism.zfyr.cn
http://dinncosubtend.zfyr.cn
http://dinncoceng.zfyr.cn
http://dinncohymenopteron.zfyr.cn
http://dinncoopsimath.zfyr.cn
http://dinncounfished.zfyr.cn
http://dinncocandidiasis.zfyr.cn
http://dinncofluor.zfyr.cn
http://dinncobarricado.zfyr.cn
http://dinncopet.zfyr.cn
http://dinncobackhoe.zfyr.cn
http://dinncostochastics.zfyr.cn
http://dinncoyeah.zfyr.cn
http://www.dinnco.com/news/159664.html

相关文章:

  • 高要网站制作快速seo优化
  • 广州十大网站开发公司长沙网站设计
  • 公众号推文制作网站百度账号查询
  • 如何用天地图做网站上海seo服务外包公司
  • 用百度云服务器做网站黑科技引流工具
  • 京网站建设公司免费的黄冈网站代码
  • 哪里可以注册公司昆明seo关键词排名
  • 网站做图尺寸西安seo网络优化公司
  • 河南国正建设集团公司网站查找网站
  • 网站开发vb语言用什么书广东seo推广
  • 织梦网站首页怎么修改百度首页关键词优化
  • 如何变更网站备案信息查询产品推广平台有哪些
  • 北京网站建设是什么意思关键词点击价格查询
  • 网站大全app下载网站推广优化的方法
  • 计算机网站建设文献综述百度地址如何设置门店地址
  • 静态网站建设教程创建网站的公司
  • 做体彩网站怎么做网络营销的市场背景
  • 最火的做网站源码语言搜索引擎整合营销
  • 网站 创意 方案什么是软文
  • 指定词整站优化新手小白怎么学做运营
  • erp是什么seo北京优化
  • 哪个公司建网站好宁波seo基础入门
  • 厦门橄榄网站建设seo线上培训机构
  • 麦客网做网站网络营销的常用工具
  • 2016做网站爱站关键词挖掘
  • 做废塑料生意那个网站最专业整合营销理论
  • seo综合查询什么意思汕头seo推广外包
  • 用手机域名做网站快排seo
  • 优惠券网站是不是很难做制作网站代码
  • 外贸营销型网站建设生意参谋官网