zoukankan      html  css  js  c++  java
  • 【模板】排序

    选择排序SelectSort

    概述

    时间复杂度 空间复杂度 排序方式 稳定性
    O(n^2) O(1) In-Place 不稳定

    思路

    每一趟从待排序的数据元素中选出最小(或最大)的一个,顺序放在待排序的数列的最前,直到全部待排序的数据元素排完。

    操作

    1. c←1

    2. 在A[c, n] 这一段区间内选出最小值,记为A[x]

    3. 将A[x] 与A[c] 交换,c++

    4. 重复2-3 步,直到c=n

    代码

    void SelectSort(int R[],int n){//sort from 1 to n
    	for(int i=1;i<=n-1;i++){//n-1 rounds
    		int k=i;
    		for(int j=i+1;j<=n;j++)
    			if(R[j]<R[k]) k=j;
    		if(k!=i)
    			swap(R[i],R[k]);//in <algorithm>
    		
            //debug
    		for(int i=1;i<=n;i++)
    			printf("%d ",R[i]);
    		printf("
    ");
    	}
    }
    

    STL快速排序sort()

    升序排序范围 [first, last) 中的元素。不保证维持相等元素的顺序。

    sort(首指针 ,尾指针+1 [,cmp]);
    
  • 相关阅读:
    指针
    显示和隐式转换
    C++虚函数
    字符串输出
    BP神经网络
    超像素分割
    函数putText()在图片上写文字
    compare
    十五、cookies和session的使用
    爬取腾讯社招职位信息
  • 原文地址:https://www.cnblogs.com/FirwoodLin/p/12294198.html
Copyright © 2011-2022 走看看