• 正宗选择排序算法


    正宗选择排序算法C++版本,看图一目了然。并总结三种简单排序算法时间复杂度分析

    最低时间复杂度O(n^2),最高时间复杂度O(n^2),平均时间复杂度O(n^2)


    #include <iostream>
    #include <vector>
    #include <stack>
    #include <cstring>
    #include <string>
    #include <queue>
    #include <algorithm>
    #include "TreeNode.h"
    using namespace std;
    
    void mySwap(int num[], int i, int j){
        int temp = num[i];
        num[i] = num[j];
        num[j] = temp;
    }
    
    // 正宗选择排序算法
    // 原理:从“未排序区间”中找出最小的元素,并将其放到“排序区间”的末尾,保证每次比较最多只交换一次数据
    void SelectSort(int num[], int length){
        int i, j, min;
        for(i = 0;i < length - 1; i++){
            min = i;
            for(j = i + 1; j < length; j++){
                if(num[j] < num[min])
                    min = j;
            }
            if(i != min)
                mySwap(num, i, min);
        }
    }
    
    
    int main(int argc, char* argv[]){
        int arr[8] = {8,7,6,5,4,3,2,1};
        SelectSort(arr, sizeof(arr)/sizeof(arr[0]));
        for(int i = 0; i < 8; i++){
            cout<<arr[i]<<"	";
        }
        return 0;
    }
    
  • 相关阅读:
    linux 软件各文件安装位置
    c dup 函数
    c sigaction信号处理
    vtun 信号处理
    vtun 虚拟网卡的读写非阻塞研究
    vtun 守护进程详解
    vtun fork函数
    vtun 中的__io_canceled变量和相关函数
    android 之 AIDL
    android 显示电池电量
  • 原文地址:https://www.cnblogs.com/flyingrun/p/13412113.html
Copyright © 2020-2023  润新知