陣列代表記憶體裡面一組連續的同型別儲存區域,並把多個儲存區域合併為乙個整體(定址方式為:基位址+偏移量),陣列的遍歷素的最快。
int arr[10] = ;
arr[4]的值為4,arr[4]的位址=arr的位址+元素標號(4),預設初始化元素的值為0.下標訪問,會出現陣列越界問題。
2.1訪問時間複雜度o(1)
// 常用的訪問資料方式
for(int pos = 0: pos < 10; ++pos)
arr[5] = 0;
2.2尾部新增、刪除末尾時間複雜度o(1)
2.3查詢時間複雜度o(n)
// 一維陣列,查詢值為3的元素的下標
int arr = ;
int len = sizeof(arr) / sizeof(arr[0]);
for(int pos = 0: pos < len; ++pos)
}
arr[2][3] = , }; // 二維資料
二維資料在記憶體中是按行進行儲存的
二維資料的訪問需要遵循的原則:按行訪問,而不是按列訪問。
底層思想:「空間區域性性」
一般來說,需要將最長的迴圈放在最內層,最短的迴圈放在最外層,以減少cpu跨切迴圈層的次數
2.4排序
2.4.1 氣泡排序,每一趟找出最大的,總共比較次數為arr.length-1次,每次的比較次數為arr.length-i次,時間複雜度o(n²)
int arr=[1,2,5,8,11,7,9];
int len = sizeof(arr) / sizeof(arr[0]);
int temp;
for(int i = 0; i < len -1; i++)
}
C 基礎 陣列(氣泡排序)
陣列 所謂陣列,就是相同資料型別的元素按一定的順序的集合,就是把有限個型別相同的變數用乙個名字來命名,然後用編號區分他們的變數的集合,這個名字稱為陣列名,編號稱為下標。組成陣列的各個變數稱為陣列的分量,也稱為陣列的元素,有時也稱為下標變數。陣列中元素的索引是從0開始的。一 一維陣列 1 定義 格式一...
C 基礎 氣泡排序 一維int陣列排序
using system namespace int temp 0 從小到大 for int i 0 i nums.length 1 i foreach var val in nums console.writeline 從大到小 for int i 0 i nums.length 1 i fore...
C 訪問陣列元素
using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace 1212 訪問陣列元素 宣告一維陣列 array 2 33...