zoukankan      html  css  js  c++  java
  • 交互设计算法基础(7)- Straight Selection Sort

    基本思想:在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。

      算法流程
      1)初始时,数组全为无序区a[0, ... , n-1], 令i=0;
      2)在无序区a[i, ... , n-1]中选取一个最小的元素与a[i]交换,交换之后a[0, ... , i]即为有序区;
      3)重复2),直到i=n-1,排序完成。

      时间复杂度分析:O(n^2),直接选择排序一种不稳定的排序算法。

    void StraightSelectionSort(int a[], int n) {
      int i, j, minIndex;
      for (i=0; i<n; i++) {
        minIndex=i;
        for (j=i+1; j<n; j++) {
          if (a[j]<a[minIndex]) {
            minIndex=j;
          }
          int temp = a[j];
          a[j] = a[minIndex];
          a[minIndex] = temp;
        }
      }
    }
  • 相关阅读:
    windows安装kafka
    excel打开utf-8的csv乱码
    laravel 记录慢sql日志
    php ftp连接的坑
    公用辅助方法
    ubuntu重置网络配置
    php socket
    docker ftp配置多个用户
    php aes-ecb-128位加密
    redis集群 哨兵模式
  • 原文地址:https://www.cnblogs.com/x5115x/p/12637834.html
Copyright © 2011-2022 走看看