資料結構與演算法之美 07 鍊錶

2022-02-21 00:53:06 字數 1308 閱讀 3615

class

program

var strs = new

char ;

var index = find(strs, 'b'

); console.readkey();

}static

int find2(char a, char

key)

n=6 key = 7

//a = n=6 key = 6

if (a == null || a.length <= 0

)

int n =a.length;

//這裡因為要將a[n-1]的值替換成key,所以要特殊處理這個值

if (a[n - 1] ==key)

//把a[n-1]的值臨時儲存在變數tmp中,以便之後恢復。tmp=6。

//之所以這樣做的目的是:希望find()**不要改變a陣列中的內容

char tmp = a[n - 1

];

//把key的值放到a[n-1]中,此時a =

a[n - 1] =key;

int i = 0

;

//while 迴圈比起**一,少了iwhile (a[i] !=key)

//恢復a[n-1]原來的值,此時a=

a[n - 1] =tmp;

if (i == n - 1

)

else

}//在陣列a中,查詢key,返回key所在的位置

//其中,n表示陣列a的長度

private

static

int find(char a, char

key)

int i = 0

;

//這裡有兩個比較操作:iwhile (i ++i;

}return -1

; }

//從第start人開始計數,以alter為單位迴圈記數出列,總人數為total

public

static

int jose(int total, int start, int

alter)

//按出列次序依次存於陣列count中

for (int i = total; i >= 2; i--)

count[k] = s[1

];

//結果返回

return

count;

}}

資料結構與演算法之美 鍊錶

如何優雅的寫出鍊錶 6大學習技巧 一 理解指標或引用的含義1.含義 將某個變數 物件 賦值給指標 引用 實際上就是就是將這個變數 物件 的位址賦值給指標 引用 2.示例 p next q 表示p節點的後繼指標儲存了q節點的記憶體位址。p next p next next 表示p節點的後繼指標儲存了p...

資料結構與演算法之美 鍊錶

1.如何實現lru快取淘汰演算法 答 回答這個問題之前,我們首先了解一下什麼是快取 2.鍊錶的三種形式 單鏈表 雙向鍊錶 迴圈鍊錶 簡介一下單鏈表 頭節點用於記錄基位址,有了它我們就可以遍歷整條鍊錶,而尾節點特殊地方不是指向下乙個節點,而是指向乙個空位址。鍊錶因為不是乙個連續的位址,所以不需要考慮連...

07 資料結構與演算法之雙向鍊錶

單向鍊錶的缺點分析 雙向鍊錶的遍歷 新增 修改 刪除 建立乙個雙向鍊錶的類 class doublelinkedlist else 新增 新增乙個節點到雙向鍊錶的最後 public void add heronode2 heronode 新增 按照編號來新增 public void addbyord...