2维数组如何存储到1维数组中
#include <stdio.h>void change(int a[],int n);
void main()
{
int i,j,(*b)[5],*p;
int a[5][5]={34,35,57,32,12,46,768,67,98,54,43,87,96,54,778,89,4,345,656,7,767,45,656,767,3};
b=a;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
p=*(b+i)+j;
change(p,25);
for(i=0;i<25;i++)
printf("%d\n",*(p+i));
}
void change(int a[],int n)
{
int i,j,k,temp;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(*(a+j)<*(a+k))k=j;
if(k!=i){temp=*(a+k);*(a+k)=*(a+i);*(a+i)=temp;}
}
}
我本意是想把2维数组排序,可是不会写2维数组排序的程序...就写了个1维数组的排序,想把2维数组存到1维数组里排,可是程序运行不了,能帮我看看哪错了吗?
[ 本帖最后由 caochuan2000 于 2009-8-18 18:02 编辑 ]