You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C++实现二维数组列排序并完成输入输出展示

C++ 二维数组按列升序排序实现方案

你当前代码仅处理了索引为0的第一列,要实现所有列单独升序排序,只需对每一列依次执行「提取列元素→排序→写回数组」流程即可。

修正后完整可运行代码

#include <iostream>
using namespace std;

int main()
{
    int col, row;
    cout << "Column = ";
    cin >> col;
    cout << "Row = ";
    cin >> row;
    // 注意:变长数组(VLA)非C++标准语法,仅部分编译器支持,如需兼容标准可改用vector<vector<int>>
    int array[row][col];
    int temp_col[row];

    // 输入数组元素:按行输入
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            cin >> array[i][j];
        }
    }

    // 输出原矩阵
    cout << "\n原数组矩阵:\n";
    for (int i = 0; i < row; i++) {
        cout << "{ ";
        for (int j = 0; j < col; j++) {
            cout << array[i][j];
            if (j != col -1) cout << ", ";
        }
        cout << " }" << endl;
    }

    // 按列排序:遍历每一列
    for (int j = 0; j < col; j++) {
        // 提取当前列元素到临时数组
        for (int i = 0; i < row; i++) {
            temp_col[i] = array[i][j];
        }
        // 冒泡排序当前列
        int temp;
        for (int m = 1; m < row; m++) {
            for (int n = 0; n < row - m; n++) {
                if (temp_col[n] > temp_col[n+1]) {
                    temp = temp_col[n];
                    temp_col[n] = temp_col[n+1];
                    temp_col[n+1] = temp;
                }
            }
        }
        // 排序后的列写回原数组
        for (int i = 0; i < row; i++) {
            array[i][j] = temp_col[i];
        }
    }

    // 输出排序后矩阵
    cout << "\n按列升序排序后矩阵:\n";
    for (int i = 0; i < row; i++) {
        cout << "{ ";
        for (int j = 0; j < col; j++) {
            cout << array[i][j];
            if (j != col -1) cout << ", ";
        }
        cout << " }" << endl;
    }

    return 0;
}

关键改动说明

  • 调整了数组维度定义逻辑,采用常规的array[行][列]行优先存储方式,符合多数开发者使用习惯
  • 新增外层循环遍历所有列,对每一列单独执行提取、冒泡排序、写回操作
  • 优化了矩阵输出格式,和你给出的示例展示效果匹配
  • 补充了代码注释,方便理解每一步逻辑

如果需要兼容标准C++语法,把二维数组替换为vector<vector<int>> array(row, vector<int>(col))即可,其余逻辑无需改动。

内容的提问来源于stack exchange,提问作者Farhad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:45:03