javascript資料結構列表演算法詳解

螞蟻小編發表於2017-04-04

在日常生活中,人們經常要使用列表,比如我們有時候要去購物時,為了購物時東西要買全,我們可以在去之前,列下要買的東西,這就要用的列表了,或者我們小時候上學那段時間,每次考完試後,學校都會列出這次考試成績前十名的同學的排名及成績單,等等這些都是列表的列子。我們計算機內也在使用列表,那麼列表適合使用在什麼地方呢?不適合使用在什麼地方呢?

適合使用在:當列表的元素不是很多的情況下,可以使用列表,因為對列表中的元素查詢或者排序時,效率還算非常高,反之:如果列表元素非常多的情況下,就不適合使用列表了。

一.列表的抽象資料型別定義:

為了設計列表的抽象資料型別,我們需要給出列表的定義,包括列表應該擁有哪些屬性,應該在列表上執行哪些操作等。

列表是一組有序的資料。每個列表中的資料項稱為元素。在javascript中,列表中的元素可以是任意資料型別。列表中可以儲存多少元素並沒有事先約定。但是實際使用時元素數量受到程式記憶體的限制。

現在我們想設計一個列表,那麼我們可以想想實現一個列表,他們應該包含哪些屬性和方法,當然我下面的設計都是根據 "javascript資料結構與演算法" 書上的demo來設計的,為止我們可以學習下,如果以後我們編寫程式時,該如何來設計我們自己的抽象類來作為一個參考,我們現在學習書上的demo最主要的是學習他們中的設計思想及編寫程式碼的方式。他們有如下屬性:

(1). listSize(屬性):使用一個listSize變數來儲存列表中元素的個數。

(2). pos(屬性):  列表的當前位置,元素的索引。

(3). dataStore(屬性): 初始化一個空陣列來儲存元素的個數。如果我們想取得具體的列表中的元素 可以使用上面的pos屬性;如 dataStore[pos];

所有的方法如下列表解釋,不一一介紹了:

a:3:{s:3:\"pic\";s:43:\"portal/201704/04/003025zmhqhm1t8bhp1drt.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

相關文章