#include <stdio.h>
//声明选择排序的函数
void sort(int*array,int n);
//主函数
int main() {
int n;
int i;
scanf("%d",&n);
int num[n];
//输入数组
for(i=0;i<n;i++)
scanf("%d",&num[i]);
sort(num,n);
for(i=0;i<n;i++){
printf("%d ",num[i]);
}
return 0;
}
//选择排序的函数
void sort(int*array,int n){
int*top=array;
int*seek=top+1;
int cot;
while(top-array<n-1){
seek=top+1;
while(seek-array<n){
if(*top>*seek){
int temp=*top;
*top=*seek;
*seek=temp;
}
seek++;
}
top++;
}
}
通过两个while函数遍历数组中的数字进行排序。
第一个while控制top指针的移动;第二个while控制seek指针的移动,seek每次移动后都与top指针所指的值进行比较,如果top指针所指的值更大,则进行交换。经过n-1次遍历后,便能得到最后的排序结果。

京公网安备 11010502036488号