c 基礎0 陣列(訪問 排序)

2021-10-11 09:23:25 字數 1204 閱讀 3838

陣列代表記憶體裡面一組連續同型別儲存區域,並把多個儲存區域合併為乙個整體(定址方式為:基位址+偏移量),陣列的遍歷素的最快。

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...