資料結構與演算法 陣列

2021-09-27 07:35:01 字數 1110 閱讀 3175

陣列是由相同型別的元素(element)的集合所組成的資料結構,分配一塊連續的記憶體來儲存。利用元素的索引(index)可以計算出該元素對應的儲存位址。(維基百科)

陣列是線性表資料結構,定義陣列時,系統會分配乙份連續的記憶體空間來儲存一組相同的型別的資料,如int num[n] ;

陣列定義為一維陣列、二維陣列、三維陣列…n維陣列,其格式可以寫成int num[n][m];

3.1 需要查詢陣列第k個數時,陣列會根據下標來訪問,查詢的時間複雜度為o(1)

3.2 需要在陣列的第k個數插入乙個數y,在有序陣列的情況下,插入的時間複雜度為o(n)    

3.3 需要刪除陣列的第k個數,時間複雜度為o(n)

void arraydelete(int* pnum, int ncount, int ndeleteindex) {

int nstart = ndeleteindex - 1;

int nend = ncount - 1;

for(int nindex=nstart; nindex假如陣列定義是int num[n],可以對0到(n-1)的資料進行操作,但是如果對n往後的資料進行操作的話就會出現陣列越界,操作的不是num的資料而是其他的資料。

資料結構與演算法 陣列

陣列是一種線性表資料結構。它用一組連續的記憶體空間,來儲存一組具有相同型別的資料。其中有幾個重要的概念 非線性表 連續的記憶體空間 儲存相同型別的資料 如圖所示,這是乙個長度為5的int陣列arr,我們假設起始的記憶體位址為1000,那麼第乙個元素的記憶體位址範圍就是 1000 1003,這是因為乙...

資料結構與演算法 陣列

題型1 如何用遞迴實現陣列求和 方法1 題型2 如何用乙個for迴圈列印乙個二維陣列 方法1 array在二維陣列中的行號和列號分別為 i maxy i maxy 題型3 用遞迴和非遞迴的方法實現二分查詢 題型4 如何在排序陣列中,找出給定數字出現的次數 方法1 二分查詢,分別找出左邊界和右邊界,左...

資料結構與演算法 陣列

陣列是由相同型別的元素 element 的集合所組成的資料結構,分配一塊連續的記憶體來儲存。利用元素的索引 index 可以計算出該元素對應的儲存位址。維基百科 1.儲存結構 陣列是線性表資料結構,定義陣列時,系統會分配乙份連續的記憶體空間來儲存一組相同的型別的資料,如int num n 2.多維陣...