二维数组升序排列输出
#include<stdio.h>
void main()
{
int a[3][4]={{12,5,20,60},{50,3,15,90},{45,62,30,25}};
int i,j,k;
for(i=0;i<11;i++)
for(j=0;j<12-i-1;j++)
然后后面的排序算法搞不懂
请各位大佬讲详细一点
你得先说清楚排序规则。把二维数组当一维数组排序更简单
#include<stdio.h>
void main()
{
int a[3][4]={{12,5,20,60},{50,3,15,90},{45,62,30,25}};
int *p = (int*)a;
int i,j,k;
for(i=0;i<11;i++)
for(j=0;j<12-i-1;j++)
{
if(p[j] > p[j+1])
{
k = p[j];
p[j] = p[j+1];
p[j+1] = k;
}
}
既然你已经想到了用一维数组的方式去遍历二维数组
那后面无非就是a[0][j]和a[0][j+1]比较和交换,标准冒泡排序
直接将二维数组化成一维数组排序就行了