JS
Java Scrip是一門(mén)非常常用的網(wǎng)頁(yè)語(yǔ)言,有著彪悍可愛(ài)的歷史晴及。
JS鏈表實(shí)現(xiàn)
注:這里是對(duì)于這個(gè)網(wǎng)頁(yè)的學(xué)習(xí)筆記
新建一個(gè)類(lèi)
function Node(data)//
{
this.data = data;
this.next = null;
}
這里的操作類(lèi)似于一個(gè)函數(shù)都办,將參數(shù)傳進(jìn)來(lái)之后,生成一個(gè)鏈表類(lèi)
function List()
{
this.head = new Node('head');//相當(dāng)于一個(gè)構(gòu)造函數(shù)
//類(lèi)似C++中的成員函數(shù)
this.find = find;
this.insert = insert;
this.display = display;
this.remove = remove;}
這里的操作和創(chuàng)建C++的成員函數(shù)很像虑稼,這里的函數(shù)都會(huì)在后文中定義
插入新的數(shù)據(jù)+查找功能
function insert(newData, item) {
var newNode = new Node(newData);
var currNode = this.find(item);
newNode.next = currNode.next;
currNode.next = newNode;}
item參數(shù):這里是決定插入到哪一個(gè)的后面琳钉,item和data的數(shù)據(jù)類(lèi)型一致
var newNode :創(chuàng)建了一個(gè)新的鏈表類(lèi)型數(shù)據(jù),以便插入到鏈表中
var currNode:找到“item“所在的位置动雹,插入到它的后面
所以就有一個(gè)需要解決的問(wèn)題槽卫,如何找到”item“所在的位置,于是我們定義了find()函數(shù)胰蝠。
function find(item)
{
var currNode = this.head;
while(currNode.data !=item)
{
currNode = currNode.next;
}
return currNode;}
這里的其實(shí)是一個(gè)遍歷的操作歼培,直到找到和item值相符的數(shù)值才停下來(lái)。我們?cè)谶@里也把查找功能給實(shí)現(xiàn)了茸塞。
刪除數(shù)據(jù)
function remove(item) {
var prevNode = findPrev(item) ;
if (!(prevNode.next == null)) {
prevNode.next = prevNode.next.next;
prevNode.next.data = prevNode.next.next.data;
}
}
prevNode 參數(shù):來(lái)找到躲庄,需要?jiǎng)h除的數(shù)據(jù),的前一個(gè)數(shù)據(jù)
再通過(guò)經(jīng)典的鏈表刪除操作來(lái)刪除钾虐。
同樣噪窘,我們需要定義一個(gè)findPrev函數(shù)來(lái)找到前一個(gè)數(shù)據(jù)。
function findPrev(item) {
var currNode = this.head;
while (!(currNode.next == null) && (currNode.next.data != item)) {
currNode = currNode.next;
}
return currNode;
}
這里的遍歷類(lèi)似于find的遍歷效扫,只是通過(guò)”next“,讓當(dāng)前的數(shù)據(jù)提前了一位倔监。
顯示功能
最后我們還需要一個(gè)display()函數(shù)來(lái)顯示我們的操作
function display() {
var currNode = this.head;
while (!(currNode == null)) {
console.log(currNode.data);
currNode = currNode.next; } }
Node.js編譯JS
JS的編譯有很多種,但這里我們打算用傳統(tǒng)的Node.js 下載地址
- 下載完之后菌仁,我們要用電腦自帶的命令行提示符來(lái)進(jìn)行操作
-
打開(kāi)命令行提示符之后浩习,我們先檢查是否成功安裝了Node.js
輸入命令:node -v 回車(chē)
如果出現(xiàn)了上圖的指示,就說(shuō)明成功了济丘。v10.15.3是我的電腦安裝的版本
-
通過(guò)"cd" 指令一步步找到你的 js 文件所在的文件夾
輸入 node + "js文件名" 進(jìn)行編譯