zoukankan      html  css  js  c++  java
  • 选择排序算法

    问题:给定一个整数序列,按照从小到大的顺序(确切地说,是非递减的顺序)排列序列中的整数。
    输入:一个整数序列。
    输出:整数序列,其中的整数升序排列。

    //简单选择排序, 时间复杂度 O(n^2)  2017年7月21日
    #include <stdio.h>
    #define LEN 10
    
    int main(){
        int i,j;
        int arr[LEN];
        void sort(int a[LEN]);
        
        printf("请输入数组的%d个元素
    ", LEN);
        for(i=0; i<LEN; i++){
            scanf("%d",&arr[i]);
        }
        printf("排序前的数组为:
    ");
        for(j=0; j<LEN; j++){
            printf("%4d",arr[j]);
        }
        printf("
    ");
    
        //进行选择排序
        sort(arr);
        printf("排序后的数组为:
    ");
        for(j=0; j<LEN; j++){
            printf("%4d",arr[j]);
        }
        printf("
    ");
        return 0;
    }
    
    void sort(int a[LEN]){
        int min,temp,i,j;
        for(i=0; i<LEN; i++){
            min=i;
            for(j=i+1; j<LEN; j++){
                if(a[j]<a[min]) min=j;
            }
            temp=a[min];
            a[min]=a[i];
            a[i]=temp;//认真啊
        }
    }
  • 相关阅读:
    菜根谭#298
    菜根谭#297
    菜根谭#296
    菜根谭#295
    菜根谭#294
    菜根谭#293
    菜根谭#292
    菜根谭#291
    菜根谭#290
    菜根谭#289
  • 原文地址:https://www.cnblogs.com/Allen-win/p/7218785.html
Copyright © 2011-2022 走看看