选择排序是不稳定排序,时间复杂度为O(n^2)。 选择排序类似插入排序,把数组分为两部分,一部分已经排好序,一部分未排序。 刚开始的时候所有的元素都未排序,已排序的部分为空。就好像你手里有十张牌,左手有零张,右手有10张。每次从右手的牌中取最小的一张插入到左手的牌末尾,右手的牌插完了,排序也完成了。 ...
分类:
编程语言 时间:
2018-12-08 15:39:02
阅读次数:
207
(一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n log2(n),执行效率较高! (二)c++标准库里的排序函数的使用方法 ...
分类:
编程语言 时间:
2018-12-08 13:25:19
阅读次数:
174
第一篇 这是什么? 意义 一个个人博客的开始,记录个人的学习与成长。 内容 先梳理自己的个人知识体系。 以后的文章会有什么方面的内容,计划总体方向。 自勉: "一个人的知识面是一个圆圈,知识储备越多,圆圈越大,接触到的面积便越广阔,便能掌握和窥视更多的机会。" 首先梳理一下自己的知识体系,会些什么, ...
分类:
其他好文 时间:
2018-12-08 11:22:22
阅读次数:
173
package main import ( "fmt" ) func SelectSort(arr *[6]int) { for j := 0; j < len(arr ) - 1; j++ { max := arr[j] maxIndex := j for i := j + 1; i < len( ...
分类:
编程语言 时间:
2018-12-08 11:13:53
阅读次数:
207
名词解释:——来自百度百科 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完 ...
分类:
编程语言 时间:
2018-12-07 01:28:34
阅读次数:
199
#!/usr/bin/env python # -*- coding: UTF-8 -*- # Author:Du Fei import os #学号,姓名,年龄,性别,身高 allStudentsList=[] #从文件中读取数据 def readFromFile(fileName): if no... ...
分类:
编程语言 时间:
2018-12-05 20:46:59
阅读次数:
560
笔者在学习数据结构与算法时,尝试着将排序算法以动画的形式呈现出来更加方便理解记忆,本文配合Demo 在Object-C中学习数据结构与算法之排序算法阅读更佳。 目录 选择排序 冒泡排序 插入排序 快速排序 双路快速排序 三路快速排序 堆排序 总结与收获 参考与阅读 选择排序 选择排序是一种简单直观的 ...
分类:
编程语言 时间:
2018-12-05 20:33:04
阅读次数:
140
1.冒泡排序 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 算法描述 1.比较相邻的元素。 ...
分类:
编程语言 时间:
2018-12-04 22:33:54
阅读次数:
241
选择排序选择排序(Selectionsort)是?种简单直观的排序算法。它的?作原理如下。?先在未排序序列中找到最?(?)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最?(?)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换?对元素,它们当中?少有?个将被移到
分类:
编程语言 时间:
2018-12-04 18:59:44
阅读次数:
206