是这样的 因为编程要求,我先是声明了一个3列动态二维数组s[m][3],接下来是要根据s[i][3],就是第三列的数据对整个二维数组进行降序排序。我试验了一下倘若数据m比较小就可以实现排序,如果m比较大时,就不行了,更不要谈350000了
代码如下: MAX_LINES即为s的行数 谢谢各位
#define MAX_LINES 302
#include “stdlib.h”
#include “stdio.h”
int main()
{
///order
int (*s)[3];
int i,j;
int n;
int tempg;
int tempx;
int tempy;
n=MAX_LINES;
s=(int(*)[3])malloc(n*3*sizeof(int));
for(i=0;i
{s[i][1]=i;s[i][2]=i+1;s[i][3]=i;
printf(“%d\n”,s[i][3]);
}
for(i = 0; i
for(j=i;j
//printf(“%d\n”,j);
if(s[i][3]
{
tempx=s[i][1];
tempy=s[i][2];
tempg= s[i][3];
s[i][1] = s[j][1];
s[i][2] =s[j][2];
s[i][3] = s[j][3];
s[j][1]=tempx;
s[j][2]=tempy;
s[j][3]=tempg; }
}
}
for(i=0;i
printf(“%d\n”,s[i][3]);
}
free(s);
return 0;
}