• 将矩阵按对角线排序(c++题解)


    题目描述

    矩阵对角线 是一条从矩阵最上面行或者最左侧列中的某个元素开始的对角线,沿右下方向一直到矩阵末尾的元素。例如,矩阵 mat 有 6 行 3 列,从 mat[2][0] 开始的 矩阵对角线 将会经过 mat[2][0]、mat[3][1] 和 mat[4][2] 。

    给你一个 m * n 的整数矩阵 mat ,请你将同一条 矩阵对角线 上的元素按升序排序后,返回排好序的矩阵。

    输入格式

    第一行输入两个整数m和n

    接下来输入一个 m * n 的整数矩阵 mat

    输出格式

    输出排好序的矩阵

    样例

    样例输入 1

    复制
    1. 3 4
    2. 3 3 1 1
    3. 2 2 1 2
    4. 1 1 1 2

    样例输出 1

    复制
    1. 1 1 1 1
    2. 1 2 2 2
    3. 1 2 3 3

    样例输入 2

    复制
    1. 5 6
    2. 11 25 66 1 69 7
    3. 23 55 17 45 15 52
    4. 75 31 36 44 58 8
    5. 22 27 33 25 68 4
    6. 84 28 14 11 5 50

    样例输出 2

    复制
    1. 5 17 4 1 52 7
    2. 11 11 25 45 8 69
    3. 14 23 25 44 58 15
    4. 22 27 31 36 50 66
    5. 84 28 75 33 55 68

    数据范围与提示

    m == mat.length

    n == mat[i].length

    1 <= m, n <= 100

    1 <= mat[i][j] <= 100

    ____________________________________________________________________________
    日常发作业题解。 

    总结就是斜着冒泡

    也是简单到爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆表的题

    写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 

    ____________________________________________________________________________

    1. #include
    2. using namespace std;
    3. int a[10005][10005];
    4. int n,m;
    5. int main(){
    6. cin>>n>>m;
    7. for(int i=1;i<=n;i++){
    8. for(int j=1;j<=m;j++){
    9. cin>>a[i][j];
    10. }
    11. }
    12. for(int i=n;i>=1;i--){
    13. int flag=false;
    14. while(flag==false){
    15. flag=true;
    16. int x=i,y=1;
    17. while(x
    18. x++,y++;
    19. if(a[x-1][y-1]>a[x][y])
    20. swap(a[x-1][y-1],a[x][y]),flag=false;
    21. }
    22. }
    23. }
    24. for(int i=2;i<=m;i++){
    25. int flag=false;
    26. while(flag==false){
    27. flag=true;
    28. int x=1,y=i;
    29. while(x
    30. x++,y++;
    31. if(a[x-1][y-1]>a[x][y])
    32. swap(a[x-1][y-1],a[x][y]),flag=false;
    33. }
    34. }
    35. }
    36. for(int i=1;i<=n;i++){
    37. for(int j=1;j<=m;j++){
    38. cout<" ";
    39. }
    40. cout<
    41. }
    42. }

     

  • 相关阅读:
    javaweb高校实验室管理系统ssm
    Pyside6 QMessageBox
    android录音mediaRecord\AudioRecord\openSL\PCM tinyalsa总结和优缺点
    GAMS104 现代游戏引擎 2
    ApplicationContext对象的获取
    Jenkins 带参数执行shell脚本
    osgEarth示例分析——osgearth_tracks
    机器人学DH参数及利用matlab符号运算推导
    手把手教你在Windows下搭建Vue开发环境
    客厅、厨房、卫生间瓷砖怎么挑选,看完不再烦恼!福州中宅装饰,福州装修
  • 原文地址:https://blog.csdn.net/hb_zhyu/article/details/136263392