//选择排序之简单选择排序
#include<stdio.h>
#include<malloc.h>
//malloc可以使用sizeof
int swap(int a[],int i,int j)//交换数组里两个元素 顺序
{int temp=a[j];
a[j]=a[i];
a[i]=temp;
return 0;
}
int display(int a[],int len)//打印数组
{
for(int i=0;i<len;i++)
printf("%d ",a[i]);//数组元素之间有空格
printf("\n") ;
return 0;
}
int choose(int a[],int len){//插入排序,由小到大排序
int min,temp;
for(int i=0;i<len-1;i++){
min=i;//keypoint为什么放外层循环和里面不一样
for(int j=i;j<len;j++)
{
temp=a[min];//存放最小值
if(a[j]<temp){
min=j;
}
}
swap(a,i,min);
}
return 0;
}
int main(){
int a[]={3,5,2,5,78,9,1};//这里给定了数组,可以尝试换成随机数组
int n=sizeof(a)/sizeof(a[0]) ;
printf("排序前的数组\n");
display(a,n);
choose(a,n);
printf("排序后的数组\n");
display(a,n);
return 0;
}
在这里插入代码片
11-20
4000
07-19
315