选择排序

xiaoxiao2021-02-28  76

#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次,得到一个按排序码从小到大排列的有序序列。
转载请注明原文地址: https://www.6miu.com/read-74663.html

最新回复(0)