一纬数组
#include "stdio.h"
void main()
{
int i,a[10]={9,4,6,2,7,0,1,5,3,8};
sort(a+1,10);
for(i =0;i<=9;i++)
{
printf("%3d",*(a+i));
}
}
sort(p,n)
int *p,n;
{
int i,t,*pj;
for(i=1;i
{
for(pj= p+n-1;pj>p+i-1;pj--)
{
if(*(pj-1)>*pj)
{
t=*pj;
*pj=*(pj-1);
*(pj-1)=t;
}
}
}
}
二维数组
#include "stdio.h"
void main()
{
int i,j,a[2][10]={{9,4,6,2,7,0,1,5,3,8},{9,4,6,2,7,0,1,5,3,8}};
printf("Befort sort :\n");
for(i = 0;i<2;i++)
{
for(j=0;j<10;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
/*这里这儿 *(a+1)就是访问第二行 */
sort(*(a+1),10);
printf("\nAfter sort :\n");
for(i =0;i<=1;i++)
{
for(j=0;j<10;j++)
{
printf("%3d",*(*(a+i)+j));
}
printf("\n");
}
}
sort(p,n)
int *p,n;
{
int i,t,*pj;
for(i=1;i
{
for(pj= p+n-1;pj>p+i-1;pj--)
{
if(*(pj-1)>*pj)
{
t=*pj;
*pj=*(pj-1);
*(pj-1)=t;
}
}
}
}