C语言 如何对二维数组进行按列排序

西打酒 2017-03-23 09:36:13
代码如下:
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int a[2][3];
a[0][0] = 6;
a[0][1] = 5;
a[0][2] = 4;
a[1][0] = 3;
a[1][1] = 2;
a[1][2] = 1;
sort((int*)a,(int*)a+6);
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
printf("%d\n",a[i][j]);
return 0;
}
...全文
1368 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
IamVeryCool 2020-01-14
  • 打赏
  • 举报
回复
请问只将二维数组的某一列进行重排,其他元素该如何移动呢?
hellokubby 2017-03-23
  • 打赏
  • 举报
回复
我觉得有时候自己写写冒泡排序也挺好的,sort()函数有时会禁锢你的脚步吧

//行数为N,列数为M
 for(j=0;j<N;j++) 
 {
  for(i=0;i<M;i++)
  {
   for(k=M-1;k>i;k--)
    if(a[k][j]<a[i][j]) 
    { 
     t=a[k][j]; 
     a[k][j]=a[i][j]; 
     a[i][j]=t;
    } 
  } 
 } 

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧