编了一个选择排序,反复检查感觉没错,但就是运行不了!
#include<stdio.h>void Swap(int *x,int n,int m) //此函数用于交换数组中的两个元素
{
int ex;
ex=*(x+n);
*(x+n)=*(x+m);
*(x+m)=ex;
}
void Xzpx(int array[],int n) //选择排序大神版
{
int i=0;
int j=0;
int k=-1;
for(i=0;i<n;i++)
{
k=i;
for(j=i;i<n;j++)
{
if(array[j]<array[k])
{
k=j;
}
}
Swap(array,i,k);
}
}
void Pri(int *x,int n) //输出序列
{
int i;
printf("当前序列为:");
for(i=0;i<n;i++)
{
printf("%d ",*(x+i));
}
putchar('\n');
}
int main()
{
int a[10]={1,3,5,7,9,2,4,6,8,10};
Pri(a,10);
Xzpx(a,10);
Pri(a,10);
}
//请帮我改一改 谢谢!@