将矩阵按对角线排序(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

复制代码
复制3 4
3 3 1 1
2 2 1 2
1 1 1 2

样例输出 1

复制代码
复制1 1 1 1
1 2 2 2
1 2 3 3

样例输入 2

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

样例输出 2

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

数据范围与提示

m == mat.length

n == mat[i].length

1 <= m, n <= 100

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


日常发作业题解。

总结就是斜着冒泡

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

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


cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int a[10005][10005];
int n,m;
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
		}
	}
	for(int i=n;i>=1;i--){
		int flag=false;
		while(flag==false){
			flag=true;
			int x=i,y=1;
			while(x<n&&y<m){
				x++,y++;
				if(a[x-1][y-1]>a[x][y])
				swap(a[x-1][y-1],a[x][y]),flag=false;
			}
		}
	}
	for(int i=2;i<=m;i++){
		int flag=false;
		while(flag==false){
			flag=true;
			int x=1,y=i;
			while(x<n&&y<m){
				x++,y++;
				if(a[x-1][y-1]>a[x][y])
				swap(a[x-1][y-1],a[x][y]),flag=false;
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
}
相关推荐
郝学胜-神的一滴3 小时前
Qt 高级开发 009: C++ Lambda 表达式
开发语言·c++·qt·软件构建
石山代码4 小时前
C++ 轻量级日志系统
开发语言·c++
cd_949217216 小时前
2026年扫描电子显微镜选型指南:易姆科特的核心优势与产品矩阵解析
人工智能·线性代数·矩阵
smj2302_796826526 小时前
解决leetcode第3943题递增后的数对数量
数据结构·python·算法·leetcode
oo哦哦7 小时前
星链引擎矩阵系统深度解析:AI驱动下的全域智能营销SaaS新范式
大数据·人工智能·矩阵
炽烈小老头7 小时前
【每天学习一点算法 2026/05/25】矩阵中的最长递增路径
学习·算法·矩阵
oo哦哦7 小时前
轻量化内容中台如何破解企业矩阵运营困局?以星链引擎为例的技术解析
大数据·人工智能·矩阵
王老师青少年编程7 小时前
2026年全国青少年信息素养大赛初赛真题(算法应用主题赛C++初中组初赛真题3:文末附答案和解析)
c++·真题·答案·初赛·2026年·青少年信息素养大赛·初中组
轻颂呀7 小时前
C++11——并发库介绍
开发语言·c++
oo哦哦7 小时前
企业级矩阵管理中台:从“人海战术“到“AI智能增长“的架构演进与实践解析
人工智能·矩阵·架构·轻量化中台