---
# System prepended metadata

title: Array
tags: [Data Structure]

---

# Array
###### tags: `Data Structure`

## 介紹

* Array可以想成是一組連續的資料
    * 連續是指概念上連續，不是記憶體中真的連續
    * 可以有多種維度，稱為 N-D Array，例如:
    ![](https://i.imgur.com/RjcdHoc.png)
    
## 常用場景

Too much



## 名詞解釋

* 以下圖為例，0,1,2,3稱為index；3,4,5,6為value
    * **index**: 代表第i筆資料，慣例上從0開始計算，
    * **value**: 代表所儲存的資料
![](https://i.imgur.com/gPCavho.png)

## 操作
* 讀/寫:
    * O(1)
    * 例如: ``arr[2]=4 // 將第3筆資料改成4``
* 插入
    * O(n)
    * 插入時，若不希望更動其他資料順序則需將所有資料向後移動一個位置
    * ![](https://i.imgur.com/xy20Njm.png)

* 刪除
    * O(n)
    * 與插入同理。



## Examples
### In C

```c=
int arr[arraySize];   // Method 1
int arr[]={3,4,5,6};  // arraySize will be 4
```

