数组
维基百科,自由的百科全书
数组是電腦编程语言上,對於「Array」的中文稱呼。它十分類似数学上的「矩阵」, 但是在電腦編程語言上,表示方法和意義上略有不同。
數學上的矩阵看起來像這樣:

而電腦上的数组看起來像這樣,例如C语言中的数组:
int a[3][3]={
{ 3, 6, 2 },
{ 0, 1, -4 },
{ 2, -1, 0 }
};
雖然数组在各種電腦編程語言中的表示式略有不同,但是幾乎每一種編程語言都有這種結構和觀念,它已經不只是一種編程專用的術語,而是電腦運作中非常重要的技術和概念。當前電腦能夠顯示、打印中文字,都是数组的觀念應用;字串也是基於數組的一種重要數據結構。数据库也是数组概念的一種擴充和延伸。
目录 |
[编辑] 多维数组
普通数组采用一个整数来作下标。多维数组的概念特别是在数值计算和图形应用方面非常有用。我们在多维数组之中采用一系列有序的整数来标注,如在[ 3,1,5 ] 。这种整数列表之中整数的个数始终相同,且被称为数组的“维度”。关于每个数组维度的边界称为“维”。维度為k的数组通常被称为k维。
[编辑] 程式設計
數組設計之初是在形式上依賴內存分配而成的,所以必須在使用前預先請求空間。這使得數組有以下特性:
- 請求空間以後大小固定,不能再改變(數據溢出問題);
- 在內存中有空間連續性的表現,中間不會存在其他程序需要調用的數據,為此數組的專用內存空間;
- 在舊式程式語言中(如有中階語言之稱的C),程式不會對數組的操作做下界判斷,也就有潛在的越界操的風險(比如會把數據寫在運行中程式需要調用的核心部份的內存上)。
因為簡單數組強烈倚賴電腦硬件之內存,所以不適用於現代的程序設計。欲使用可變大小、硬件無關性的數據類型,Java等程式設計語言均提供了更高級的數據結構:ArrayList、Vector等動態陣列。
[编辑] 参见
- 二维数组 (矩阵)
[编辑] 外部鏈接
|
||||||||||||||||||||