一、陣列中的名詞及知識點
陣列名即表示該陣列的名稱
陣列元素(element)即構成該陣列的每個資料項
陣列下標(subscript)即表示陣列內元素位置、順序的編號
陣列的基型別(base type)即陣列的型別,也即陣列內所有元素的型別
陣列維數(dimension)即為陣列下標的個數
排序(sorting)對無序資料按特定順序排列,sort(a,a+n)預設為從小到大
查詢(searching)有**線性查詢(linear search)**和折半查詢(binary search) 等
平均值(mean) 中位數(median) 眾數(mode)
氣泡排序(bubble)即沉降排序(sinking sort)
查詢鍵(search key)
一維陣列
int a[
size];
//(base type) (name)[(size)];
更常用的形式為用巨集常量定義陣列長度,在主函式前定義陣列即
#define p
101
int a[p]
;int main()
注意:在定義陣列長度所用的常量時注意要比所用長度大一點以防止溢位
對於其初始化則可以採用如下方法:
int a[p]
=;int b[p]
=;
注意:定義陣列時不能使用變數定義陣列大小,且陣列初始化時及輸入數值時不可使用陣列直接輸入,因為陣列的陣列名同時為陣列的位址;
二維陣列
同一維陣列相似,在一維陣列的基礎上再加乙個下標,具體如下:
int a[
size1][
size2
];
其他注意事項同一維陣列,另外,三維及以上陣列類似;
注意:二維陣列的下標是形如下式
int a[2]
[3];
//而不是如下形式
int a[2,
3];//一定注意!!!
輸入及呼叫陣列
此過程多採用迴圈結構來實現,如:
//假設已定義陣列
for(int i=
0;i)cin>>a[i]
;//input;
for(int j=
0;j(a[j]==1
)b++
;//using it.
排序時使用函式可減少運算量,也可以簡化**
用sort(a,a+n,compare)來實現排序,若不加第三位元素則預設為從小到大排序
其標頭檔案為,其中,compare為排序規則;
比較常用的排序演算法有:交換法、選擇法、插入排序、氣泡排序、等
查詢
binary search 此方法對減少迴圈次數比較有效,可提高程式的運算速度及程式的可讀性,其主要思想為:首先選取位於陣列中間的元素,將其與查詢鍵進行比較。如果它們的值相等,則查詢鍵被找到,返回陣列中間元素的下標。否則,將查詢的區間縮小為原來區間的一半,即在一半的陣列元素內查詢。折半查詢的使用方法如下:
//按折半查詢法查詢值為x的陣列元素,若找到則返回x在陣列中的下標位置,否則返回-1
int binsearch
(long num[
],long x , int n)
//defination of the binsearch() foundation
4、總結
陣列適用於對一組數及多組數的處理,可利用陣列對元素的儲存、定位的特性對陣列中元素進行處理、使用,亦適用於矩陣的處理;
二維陣列可理解為陣列的陣列,若是將一維陣列具象為數軸,則二維陣列、三維陣列分別可以具象為平面座標、空間座標;但,此種方法使用範圍並不廣泛,當維次更高時則難以描述,故,可使用陣列的陣列的理解方式來理解、使用陣列,也可以理解為一串編碼,乙個編碼對應乙個元素;
對於排序可以使一組資料變得有序,利於後續對資料的處理與呼叫;
查詢則可以定位元素,可用於呼叫某個或某些元素,並且,折半查詢可以減少程式的運算次數,利於程式的執行;
另外,排序、查詢等一般是利用函式,通過呼叫函式來實現的.
2018.12.22 ki.
黑馬程式設計師 陣列學習 陣列基礎
asp.net android io開發s net培訓 期待與您交流!同一種資料的集合,其實就是一種容器。儲存資料的一種形式。就是 裝東西 裝的 東西 被稱為 元素 元素型別可以是任意的,但定義乙個陣列,依次裝入的只能同一型別的資料。陣列自動對存入的元素進行編號 從0開始 方便操作。格式 元素型別 ...
黑馬程式設計師 陣列
asp.net unity開發 net培訓 期待與您交流!一 陣列 1.陣列概述 c 陣列從零開始建立索引,即陣列索引 從零開始。宣告陣列時,方括號 必須跟在型別後 面,而不是識別符號後面。陣列的大小不是其型別的一部分 例如 int numbers numbers new int 10 number...
java 程式結構 陣列
程式結構 順序結構 分支結構 if switch 迴圈結構 do while for 跳轉語句 break continue 陣列 陣列宣告 int nums double scores 分配空間 new nums new int 5 改變陣列長度 int nums new int 5 nums n...