係編程入面,幾乎每個程式入面都會有變數Variables。但變數只可以一個一個咁儲存資料,如果要儲存好多同樣嘅類型嘅資料,例如用戶嘅名稱同密碼,唔通我地就要一個一個咁建立變數?呢個時候,Array陣列就係我地嘅好朋友啦!
Table of Contents
Array由咩組成?
我地拿一個擺放書名嘅Array作例子:
Books ← [‘Oxford Dictionary’, ‘Three little pigs’, ‘Little Red Riding Hood’, ‘Harry Potter’]
Find_book ← Books[1]
Output Find_book
#Output咗Oxford Dictionary
如果未接觸過Array嘅同學應該好疑惑,點解Books入面裝住咁多嘢嘅?Books[1]隔離個數字又係乜?
至於要點搵返對應嘅資料?咁就需要Index索引來幫手啦。DSE嘅Pseudocode通常由1數起,例如Books呢個Array入面,Oxford Dictionary對應嘅Index就係1,Three little pigs對應嘅Index就係2,如此類推。
DSE常見題型
An array Price contains prices of N items. An algorithm is designed as follows:
Max_Price ← Price[1]
For index from 2 to N
If Price[index] > Price [index-1]
Max_Price ← Price[index]
Output Max_Price
以上程式其實係搵緊最貴Item嘅價錢。Max_Price首先就裝咗第一個價錢Price[1],跟住再用For Loop檢查該價錢是否大於前一個價錢。如果大於前者,就儲存較貴嘅價錢,如此類推,直到檢查完整個Array。最後,Max_Price就一定會搵到陣列Price中最貴嘅價錢。無論DSE問你最大定最細,都要識得答阿!
用Array嘅注意事項
Array陣列只可以裝住一堆同樣Datatype嘅資料,例如文字,數字,Boolean等。唔可以有個Array裝住:
History ← [1984, ‘German’, ‘Italy’]
DSE會當你錯!不過通常都會有個預設整好嘅Array比你做,只係睇你點處理Array咁解。
Array係可以唔擺任何嘢落去!例如話:
Inventory ← [ ]
遊戲中嘅角色無曬任何嘢,負責儲存背包資料嘅Array係可以係全空!
Array入面大部分嘅嘢都擺得,包括Array。
一個Array入面可以擺好多嘢,就好似你個背包入面有時會擺筆袋,筆袋又裝住唔同筆咁。
Pencil_Case ← [‘Pen 1’, ‘Pen 2’, ‘Eraser’]
Backpack ← [Bag_1, Bag_2, Pencil_Case]
如果我地要拿Eraser嘅話,我地可以搵:
Find_item ← Backpack[3][3]
#Backpack[3]就係Pencil_Case,Pencil_Case[3]就係Eraser