70,014
社区成员




#include <stdio.h>
void PrintArray(int Arr[],int n)
{
for(int i=0;i<n;i++)
printf("%d ",Arr[i]);
printf("\n");
}
//插入排序
template<class type>
void InsertSort(type *Arr,int n)
{
int j,p;
type tmp;
for(p=1;p<n;p++)
{
tmp=Arr[p];
for(j=p-1;j>=0&&Arr[j]>tmp;j--)
Arr[j+1]=Arr[j];
Arr[j+1]=tmp;
}
}
void main()
{
const int N = 3;
const int M = 3 ;
int a[N][M] = {1,3,2,9,5,6,7,8,4} ;
int i,j;
//先行排
for(i=0; i<N; i++)
{
InsertSort(*(a+i), M) ;
}
//列排,列序排谁有更好的方法告诉我
for(i=0; i<M; i++)
{
int p,tmp ;
for(p=1;p<N;p++)
{
tmp=a[p][i];
for(j=p-1;j>=0&&a[j][i]>tmp;j--)
a[j+1][i]=a[j][i];
a[j+1][i]=tmp;
}
}
for(i=0; i<N; i++)
{
PrintArray(*(a+i), M) ;
}
}
int a[3][3] = {
1,2,3
4,5,6
7,8,9
}