zoukankan      html  css  js  c++  java
  • 基本排序之选择排序

    选择排序:

    概述:

    (1) 将0到N-1位置上最小的数与0位置处的数交换;

    (2) 将1到N-1 位置上最小的数与1位置处的数交换;

    (3)以此类推,一直到N-1位置处结束,完成排序。

    算法稳定性:

      不稳定算法。

    时间复杂度:

      O(N²)

    代码:

    #include <iostream>
    using namespace std;
    
    template<typename T>
    void SelectionSort(T array[],int length)
    {
        if (length < 2)
            return;
        int i = 0, j = 0;
        for (i = 0; i < length; i++)
        {
            int min = i;                //每次找到最小值所对应的下标
            for (j = i+1; j < length; j++)
            {
                            //如果其它元素比当前最小值小,那么将更小的元素下标赋值给min
                if (array[min] > array[j])
                {
                    min = j;
                }
            }
                    //最小值下标对应为min,将最小值与i位置交换
            int temp = array[i];
            array[i] = array[min];
            array[min] = temp;
        }
            
    }
    
    int main()
    {
        int array[10] = {3,1,4,8,-34,-32,43,1,2,-1};
        SelectionSort(array, 10);
        for (int i = 0; i < 10; i++)
        {
            cout << array[i] << " " ;
        }
        return 0;
    }
  • 相关阅读:
    64_q2
    64_q1
    64_p10
    64_p9
    64_p8
    64_p7
    64_p6
    64_p5
    64_p4
    64_p3
  • 原文地址:https://www.cnblogs.com/love-jelly-pig/p/8343529.html
Copyright © 2011-2022 走看看