我已經在JavaScript中實現了雙向鏈表,但是,我無法在nodejs中打印出我的結果。我是那些喜歡將事物形象化以充分理解它們的人之一。我使用npm中的prettyjson模塊來測試我單獨的LL結果,它的效果很好,但是由於數據結構是循環的,所以它會拋出雙倍LL的最大堆棧錯誤。想知道,是否有任何工具或最佳實踐更好,更準確地測試抽象數據結構?如何漂亮打印在JavaScript中實現的循環雙向鏈表?
更具體地,我具有不能夠在視覺上看到我在終端結果(ENV的NodeJS)由於數據結構我測試是圓形的問題。 我試過prettyjson模塊,但它會拋出「達到最大調用堆棧大小」錯誤。 我想探索其他替代方法,以便在視覺上準確地打印我在nodejs中的結果。
PS:我想,以避免執行嵌入在我的對象定義(類/構造函數。但是你想它調用JavaScript)的自定義打印功能/方法。
在情況下,它是有幫助的,在這裏我實現
var prettyjson = require('prettyjson');
//Blueprints
function Node(val){
this.data = val;
this.next = null;
this.prev = null;
}
function DoublyList(){
this._length = 0;
this.head = null;
this.tail = null;
}
//Adds to the list
DoublyList.prototype.add = function(val){
var node = new Node(val);
if(this._length){
this.tail.next = node;
node.prev = this.tail;
this.tail = node;
}else{
this.head = node;
this.tail = node;
}
this._length++;
return node;
}
var doublyList = new DoublyList();
doublyList.add(5);
doublyList.add(10);
doublyList.add(15);
doublyList.add(20);
doublyList.add(25);
console.log(doublyList);
在這種情況下,「打印」是什麼意思?你期望輸出看起來像什麼,當你試圖自己做什麼時,你在哪裏陷入困境? – jfriend00
也許你覺得這個節點包有用:https://www.npmjs.com/package/doubly-linked-list您可以深入到代碼並檢查其'toString'方法 – daymannovaes
這是鏈接到它的'toString'方法:https://github.com/lmaccherone/DoublyLinkedList/blob/master/DoublyLinkedList.coffee#L64聯繫我,如果你有 – daymannovaes