选择排序

来源:互联网 发布:旅行商问题和背包算法 编辑:程序博客网 时间:2024/06/07 14:21
#include <stdio.h>int main(){    int i,j,n,k,a[100];printf("请输入要比较的数的个数\n");scanf("%d",&n);printf("请输入要比较的数\n");for(i=0;i<n;i++){scanf("%d",&a[i]);}for(j=0;j<n;j++){for(i=j;i<n;i++){if(a[i]<a[j])//将最小的数字扔到最前面,多次循环后就从小到大排序了{k=a[i];a[i]=a[j];a[j]=k;}}}printf("从小到大排序为\n");for(i=0;i<n;i++)printf("%d  ",a[i]);printf("\n");return 0;}
直接选择排序(Straight Select Sorting) 是一种简单的排序方法,它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1]交换,.....,第n-1次从R[n-2]~R[n-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。
原创粉丝点击