实现了一维数组的排序,同时二位数组也可实现排序。
利用C++实现,以下为主函数
#include<iostream>
using namespace std;
#define N 3
void paixu(int (*p)[N]);
void out(int (*p)[N]);
int main()
{
int a[N][N],i,j;
cout<<"输入数据"<<endl;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
cin>>a[i][j];
paixu(a);
out(a);
}
形参为指向一维数组的指针,将二维数组存到一维数组之中,将一维数组排序,然后再存回到二维数组之中
void paixu(int (*p)[N])//指向一维数组的指针
{
int i,j,k,t;
int a[N*N];
k=0;
for(i=0;i<N;i++)//将二维数组存到一维数组之中
for(j=0;j<N;j++)
if(k<N*N)
{
a[k]=*(*(p+i)+j);
k++;
}
for(i=0;i<N*N-1;i++)//将一维数组进行排序
for(j=0;j<N*N-1-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j+1];