国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript數據結構鏈表知識詳解

2019-11-19 18:54:53
字體:
來源:轉載
供稿:網友

最近在看《javascript數據結構和算法》這本書,補一下數據結構和算法部分的知識,覺得自己這塊是短板。

鏈表:存儲有序的元素集合,但不同于數組,鏈表中的元素在內存中不是連續放置的。每個元素由一個存儲元素本身的節點和一個指向下一個元素的引用(也稱指針或鏈接)組成。

好處:可以添加或移除任意項,它會按需擴容,且不需要移動其他元素。

與數組的區別:

    數組:可以直接訪問任何位置的任何元素;

    鏈表:想要訪問鏈表中的一個元素,需要從起點(表頭)開始迭代列表直到找到所需的元素。

做點小筆記。

function LinkedList(){var Node = function(element){this.element = elementthis.next = null}var length = 0var head = nullthis.append = function(element){var node = new Node(element)var currentif(head == null){ //鏈表為空head = node}else{ //鏈表不為空current = head//循環鏈表,直到最后一項while(current.next){current = current.next}current.next = node}length ++ //更新鏈表長度}this.insert = function(position,element){var node = new Node(element)var current = headvar previousvar index = 0if(position>=1 && position<=length){ //判斷是否越界if(position === 0){ //插入首部node.next = currenthead = node}else{while(index++ < position){previous = currentcurrent = current.next}node.next = currentprevious.next = node}length ++ //更新鏈表長度return true}else{return false}}this.indexOf = function(element){var current = headvar index = -1while(current){if (element === current.element) {return index}index++current = current.next}return -1}this.removeAt = function(position){if(position>-1 && position<length){ //判斷是否越界var current = headvar previousvar index = 0if(position === 0){ //移除第一個元素head = current.next}else{while(index++ < position){previous = currentcurrent = current.next}previous.next = current.next //移除元素}length -- //更新長度return current.element}else{return null}}this.remove = function(element){var index = this.indexOf(element)return this.removeAt(index)}this.isEmpty = function(){return length == 0}this.size = function(){return length}this.toString = function(){var current = headvar string = ""while(current){string = "," + current.elementcurrent = current.next}return string.slice(1)}this.getHead = function(){return head}}

以上所述是小編給大家介紹的JavaScript數據結構鏈表知識詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌拉特中旗| 五华县| 格尔木市| 揭东县| 南溪县| 恭城| 永清县| 临澧县| 长治县| 和龙市| 延安市| 保靖县| 黄平县| 阿图什市| 乌拉特中旗| 道孚县| 策勒县| 谢通门县| 巴青县| 建昌县| 赤水市| 徐汇区| 哈密市| 弋阳县| 盈江县| 体育| 海伦市| 宿松县| 甘谷县| 夏河县| 聂荣县| 定陶县| 镇江市| 武邑县| 报价| 延吉市| 静乐县| 古丈县| 夹江县| 同德县| 三门峡市|