本文同時發布於好讀整理版
這篇要來介紹 LinkedList 裡面重要的方法 size()
與 getFirst()
,
也就是 :
size()
getFirst()
註: 本篇 Java 直接用 LinkedList 物件內建的 size()
, getFirst()
,就好,所以不再贅述。
取得 LinkedList 的長度(integer): size()
先看看想要的效果:
const mylist = new Linkedlist();
mylist.addFirst("Tom");
mylist.addFirst("Mary");
mylist.addFirst("Jack");
mylist.size(); // should return 3
實作,把前幾篇 LinkedList 寫好的結構先帶進來,再來寫我們的 size()
。
用 while loop,有值就 + 1,然後換下一個。直到最後 null。
請見最後 size()
方法。
class Node {
constructor(data, next = null) {
this.data = data;
this.next = next;
}
}
class LinkedList {
constructor() {
this.head = null;
}
addFirst(data) {
this.head = new Node(data, this.head);
}
size() {
let count = 0;
let node = this.head;
while (node) {
count = count + 1;
node = node.next;
}
return count;
}
}
注意這邊用到的 while loop 寫法,在其他地方也是常常用到的,
尤其在:有就 + 1,然後換下一個,直到沒東西
這種情況。
取得 LinkedList 第一個元素: getFirst()
這邊不用想太多,在 class LinkedList
內增加
getFirst(){
return this.head
}
明天我們會繼續 LinkedList 之旅...
好讀整理版同步發行~
本文同時發布於好讀整理版