您好,登錄后才能下訂單哦!
本篇內容主要講解“nodejs怎么實現鏈表功能”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“nodejs怎么實現鏈表功能”吧!
鏈表的實現比較簡單,有幾個模塊使用了這個功能,定時器就是其中一個。
'use strict';
function init(list) {
list._idleNext = list;
list._idlePrev = list;
}
// Show the most idle item.
function peek(list) {
if (list._idlePrev === list) return null;
return list._idlePrev;
}
// Remove an item from its list.
function remove(item) {
// item全身而退,前后節點連上,因為沒有頭尾指針,所以不需要更新
if (item._idleNext) {
item._idleNext._idlePrev = item._idlePrev;
}
if (item._idlePrev) {
item._idlePrev._idleNext = item._idleNext;
}
// 重置前后指針
item._idleNext = null;
item._idlePrev = null;
}
// Remove an item from its list and place at the end.
// 頭插法
function append(list, item) {
if (item._idleNext || item._idlePrev) {
remove(item);
}
// Items are linked with _idleNext -> (older) and _idlePrev -> (newer).
// Note: This linkage (next being older) may seem counter-intuitive at first.
item._idleNext = list._idleNext;
item._idlePrev = list;
// The list _idleNext points to tail (newest) and _idlePrev to head (oldest).
list._idleNext._idlePrev = item;
list._idleNext = item;
}
function isEmpty(list) {
return list._idleNext === list;
}
module.exports = {
init,
peek,
remove,
append,
isEmpty
};
到此,相信大家對“nodejs怎么實現鏈表功能”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。