溫馨提示×

c++二維數組怎么按列排序

c++
小億
400
2024-01-29 09:26:34
欄目: 編程語言

要按列對C++二維數組進行排序,可以使用std::sort函數和自定義比較函數來完成。

首先,假設二維數組為arr,有m行n列。我們需要定義一個自定義的比較函數cmp,用于比較兩個元素。

bool cmp(const vector<int>& a, const vector<int>& b) {
    return a[col] < b[col];
}

其中,col表示要按照哪一列進行排序。比較函數的返回值為true表示a應該在b之前,為false表示a應該在b之后。

然后,我們可以在主函數中使用std::sort函數對二維數組按列進行排序。假設要按第i列進行排序,則需要將col設置為i。

int main() {
    int m = arr.size();  // 行數
    int n = arr[0].size();  // 列數
    int col = i;  // 按第i列進行排序

    std::sort(arr.begin(), arr.end(), cmp);
    
    // 輸出排序后的二維數組
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            std::cout << arr[i][j] << " ";
        }
        std::cout << std::endl;
    }
    
    return 0;
}

這樣,就可以按列對二維數組進行排序了。請注意,這里的arr是一個二維向量,它的行和列可以根據實際情況進行修改。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女