C++遍歷二維數組:實現數組元素的有效訪問

一、什麼是二維數組

在C++中,數組是一種定義有序數據集合的數據結構。二維數組是指數組的元素也是數組的一種。它是由多個一維數組組成,並按照一定的規律排列,以形成矩陣的形式。比如,我們可以將一個網格圖建立一個二維數組,其中每個元素表示網格中的一個位置。

C++中的二維數組定義方式為:

type arr[num_rows][num_cols];

其中,type表示數組元素的數據類型,num_rows表示數組的行數,num_cols表示數組的列數。

二、使用雙重循環遍歷二維數組

要實現對二維數組的遍歷,我們需要使用兩個for循環,一個循環遍曆數組的行,一個循環遍曆數組的列。

int arr[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 4; j++) {
        cout << arr[i][j] << " "; //輸出每個元素的值
    }
    cout << endl; //換行
}

上面的代碼中,我們定義了一個3行4列的二維整型數組,並通過雙重for循環遍歷了數組的每個元素並輸出了它的值。輸出結果為:

1 2 3 4 
5 6 7 8 
9 10 11 12 

三、使用指針遍歷二維數組

與一維數組類似,我們也可以使用指針的方式訪問和遍歷二維數組。對於二維數組,我們需要使用兩個指針來遍曆數組,一個指針指向當前行,另一個指針指向當前列。

int arr[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};
int *p = arr[0]; //指向二維數組的首地址
for(int i = 0; i < 12; i++) { //循環遍曆數組中的每個元素
    cout << *(p + i) << " "; //輸出每個元素的值
    if((i + 1) % 4 == 0) { //每行輸出一個換行
        cout << endl;
    }
}

上述代碼中,我們定義了一個3行4列的整型二維數組arr,並定義了指向數組首地址的指針p。使用指針方式遍歷二維數組時,我們需要將整個二維數組看做一個一維數組,然後使用指針進行遍歷即可。上述代碼遍歷輸出的結果與前面的雙重循環遍歷方式輸出的結果相同。

四、使用函數遍歷二維數組

為了方便我們對二維數組的遍歷以及其他操作,我們可以通過函數來實現,這樣可以提高代碼的可重用性。

void travel_array(int arr[][4], int rows, int cols) { //定義遍歷函數
    for(int i = 0; i < rows; i++) {
        for(int j = 0; j < cols; j++) {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
}
int main() {
    int arr[3][4] = {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    };
    travel_array(arr, 3, 4); //調用遍歷函數
    return 0;
}

上述代碼中,我們定義了一個名為travel_array的函數,該函數接受一個二維整型數組、數組的行數和列數作為參數,使用雙重for循環遍歷了數組並輸出了每個元素的值。

在主函數中,我們定義了一個3行4列的二維整型數組arr,並調用了travel_array函數將數組作為參數傳遞給函數。函數執行後,輸出數組中每個元素的值。

總結

本篇文章講述了C++中遍歷二維數組的三種方式:雙重循環遍歷、指針遍歷、以及通過函數實現遍歷。通過對以上三個方面的闡述,我們不僅學會了如何遍歷一個二維數組,同時也掌握了不同的遍歷方式和函數封裝的技巧,這將有助於我們更好的開發C++程序。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/235652.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 11:58
下一篇 2024-12-12 11:58

相關推薦

  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python遍歷集合中的元素

    本文將從多個方面詳細闡述Python遍歷集合中的元素方法。 一、for循環遍歷集合 Python中,使用for循環可以遍歷集合中的每個元素,代碼如下: my_set = {1, 2…

    編程 2025-04-29
  • Python去掉數組的中括號

    在Python中,被中括號包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括號。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Python列表中大於某數的元素處理方法

    本文將會介紹如何在Python列表中找到大於某數的元素,並對其進行進一步的處理。 一、查找大於某數的元素 要查找Python列表中大於某數的元素,可以使用列表推導式進行處理。 nu…

    編程 2025-04-29
  • Python如何遍歷字典中的key和value

    本文將詳細講解Python中如何遍歷字典中的key和value,包括多種遍歷方式以及在遍歷過程中的一些應用場景。 一、遍歷字典中的key和value 在Python中,字典是一種無…

    編程 2025-04-29
  • Python Set元素用法介紹

    Set是Python編程語言中擁有一系列獨特屬性及特點的數據類型之一。它可以存儲無序且唯一的數據元素,這使得Set在數據處理中非常有用。Set能夠進行交、並、差集等操作,也可以用於…

    編程 2025-04-29
  • Python編程實現列表元素逆序存放

    本文將從以下幾個方面對Python編程實現列表元素逆序存放做詳細闡述: 一、實現思路 一般來說,使用Python將列表元素逆序存放可以通過以下幾個步驟實現: 1. 定義一個列表 2…

    編程 2025-04-29
  • Python集合加入元素

    Python中的集合是一種無序且元素唯一的集合類型。集合中的元素可以是數字、字符串、甚至是其他集合類型。在本文中,我們將從多個方面來探討如何向Python集合中加入元素。 一、使用…

    編程 2025-04-29

發表回復

登錄後才能評論