``` void sort_select(vector &v) { for(int i=0;i ...
分类:
编程语言 时间:
2019-04-11 14:37:38
阅读次数:
150
一.选择排序原理 1.每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置 2.再从剩余未排序元素中继续寻找最小(大)元素,然后放到刚才已排序序列的后面。 3.以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。例如:序列3,3,2,1, 我们知道第一次遍历 ...
分类:
编程语言 时间:
2019-04-09 00:34:16
阅读次数:
151
class Program { static void Main(string[] args) { int[] arr = new int[] { 6, 9, 13, 2, 4, 64 }; int[] newArr = SelectionSort(arr); Console.Read... ...
分类:
编程语言 时间:
2019-04-06 19:07:52
阅读次数:
142
排序算法可以说是一项基本功,解决实际问题中经常遇到,针对实际数据的特点选择合适的排序算法可以使程序获得更高的效率,有时候排序的稳定性还是实际问题中必须考虑的,这篇博客对常见的排序算法进行整理,包括:插入排序、选择排序、冒泡排序、快速排序、堆排序、归并排序、希尔排序、二叉树排序、计数排序、桶排序、基数 ...
分类:
编程语言 时间:
2019-04-06 17:10:00
阅读次数:
146
在上一篇中,回顾了一下针对选择排序的优化算法——堆排序。堆排序的时间复杂度为O(n logn),而快速排序的时间复杂度也是O(n logn)。但是快速排序在同为O(n logn)的排序算法中,效率也是相对较高的,而且快速排序使用了算法中一个十分经典的思想——分治法;因此掌握快速排序还是很有必要的。 ...
分类:
编程语言 时间:
2019-04-06 14:00:47
阅读次数:
163
1、冒泡排序: function maopao(arr) { var temp; for (i = 0; i < arr.length - 1; i++) { for (j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { ...
分类:
编程语言 时间:
2019-04-05 19:56:42
阅读次数:
185
本篇主要介绍排序算法中的冒泡排序 选择排序和插入排序 一 冒泡排序 1、思路:首先,列表每两个相邻的数比较大小,如果前边的比后边的大,那么这两个数就互换位置。就像是冒泡一样 2、代码关键点: 趟数:n-1趟 无序区 3、图示说明:依次类推就会得到排序结果。冒泡排序的效率还是很低的 时间复杂度:O(n ...
分类:
编程语言 时间:
2019-04-02 18:29:48
阅读次数:
159