美文网首页
101. 简单排序

101. 简单排序

作者: 时光杂货店 | 来源:发表于2017-03-28 21:18 被阅读8次

基本思想

将初始序列(A[0] ~ A[n-1])作为待排序序列,第一趟在待排序序列(A[0] ~ A[n-1])中找最小值元素,与该序列中第一个元素A[0]交换,这样子序列(A[0])有序,下一趟排序在待排序子序列(A[1] ~A[n-1])中进行。
第i趟排序在待排序子序列(A[i-1] ~ A[n-1])中找最小值元素,与该子序列中第一个元素A[i-1]交换。
经过n-1汤排序,初始序列有序。

解题之法

template <class T>
void SelectSort(T A[], int n){

    int small;
    for (int i = 0; i < n-1; i++){
        small = i;
        for (int j = i + 1; j < n; j++){
            if(A[j] < A[small])
                small = j;
}
        Swap(A[i], A[small]);
}
}

复杂度

O(n*n) 且不稳定

相关文章

  • 101. 简单排序

    基本思想 将初始序列(A[0] ~ A[n-1])作为待排序序列,第一趟在待排序序列(A[0] ~ A[n-1])...

  • 常用排序算法(Python实现), 持续更新中

    一、非线性时间比较类排序 交换排序冒泡排序快速排序 插入排序简单插入排序希尔排序 选择排序简单选择排序堆排序 归并...

  • 基础算法|简单选择排序

    简单选择排序是一种排序算法,指在简单选择排序过程中,所需移动记录的次数比较少。简单选择排序是不稳定排序。 简单选择...

  • 选择排序-c语言描述

    选择排序分简单选择排序与堆排序两种,先介绍简单选择排序。1.简单选择排序在未排序的序列中找到最小(大)元素,存放到...

  • 算法学习之简单排序

    简单排序 简单排序有三种, 冒泡排序,选择排序,插入排序 冒泡排序 冒泡排序是一种易于实现的排序算法, 以升序为例...

  • 排序算法概述

    在本系列中我们综述十个常用排序算法,分别是简单插入排序、希尔排序、简单选择排序、快速排序、冒泡排序、堆排序、归并排...

  • 排序

    简单排序: 插入排序 冒泡排序 快速排序 归并排序 基数排序

  • [二叉树]101. Symmetric Tree

    题目:101. Symmetric Tree 判断一棵树是否是镜像的。简单的DFS题。 Given a binar...

  • [iOS基础]OC常用算法实现

    希尔排序 快速排序 直接插入排序 简单选择排序 冒泡排序

  • 常用算法OC实现

    希尔排序 快速排序 直接插入排序 简单选择排序 冒泡排序

网友评论

      本文标题:101. 简单排序

      本文链接:https://www.haomeiwen.com/subject/tadsottx.html