思路
对于一串待排序的数字,假如是要升序排序,那么先在这串数字中找到最小的那一个放在第一位,然后再在剩下的数字中找到最小的放在第二位,以此类推,完成排序。
那么怎么知道哪个是最小的呢?
一般假设第一个是最小的,然后拿这个去和后面的数字进行比较,发现比它更小的,就把它们进行交换。
代码
代码语言:javascript复制#include<stdio.h>
void select(int num[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i )
for(j=i 1;j<n;j )
if(num[i]>num[j])
{
temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}
int main()
{
int i,num[10]={1,3,5,7,9,2,4,6,8,0};
select(num,10);
for(i=0;i<10;i )
{
if(i!=0)
printf(" ");
printf("%d",num[i]);
}
}
快速排序
https://blog.csdn.net/weixin_62264287/article/details/122871477