私はjavascriptで二重にリンクされたリストを実装しましたが、私はnodejsで結果をきれいに印刷することができません。私はそれらを完全に理解するために視覚化が好きな人々の一人です。私はprettyjsonモジュールをnpmから使用してきましたが、単独でLL結果をテストしましたが、データ構造が循環的であるため、最大スタックエラーが発生します。ただ、抽象的なデータ構造をより正確にテストするツールやベストプラクティスがあるのだろうかと疑問に思っています。javascriptで実装された循環的な二重リンクリストを印刷するには?
具体的には、問題は私が視覚的に私の結果をターミナル(nodejs env)で見ることができないということです。 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