题目:给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。 1.冒泡:从头开始,比较相邻的两个元素,大的放在后面。一轮结束之后,最大的数沉底,不参与下一轮比较。重复 直至待排序的元素个数为1。 class Solution { public: /*** @pa ...
分类:
编程语言 时间:
2016-11-21 22:36:13
阅读次数:
306
static void Main(string[] args) { var arr = new int[] { 2, 8, 5, 1, 9, 9, 7, 7, 25, 35, 20 }; Sort1(arr); foreach (var item in arr) { Console.WriteLin ...
分类:
编程语言 时间:
2016-11-21 19:41:33
阅读次数:
162
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Sort{ ...
分类:
编程语言 时间:
2016-11-20 11:29:24
阅读次数:
207
最近一段时间学习了算法导论第二版书的第一部分和第二部分的内容,自己编写了其中排序相关的几乎全部算法,包括冒泡排序(bubble sort)、选择排序( selection sort)、插入排序(insertion sort)、希尔排序(shell sort)、归并排序(merge sort)、快速排... ...
分类:
编程语言 时间:
2016-11-19 02:58:28
阅读次数:
294
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。 堆排序有点类似选择排序,都是每次选出最大的数或最小的数。 对于堆,由于其根节点为堆中最大的节点,因此每次只需取出其根节点,然后重新建堆,再重复前面操作 故按如下步骤: 首先可以看到堆建好之后堆中第0个数据是堆中最大 ...
分类:
编程语言 时间:
2016-11-17 01:02:28
阅读次数:
323
选择排序与冒泡排序的特点与区别 ++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++ 陌陌说:选择排序(包含shaker排序/堆排序)和冒泡排序都属于交换排序的一种 ...
分类:
编程语言 时间:
2016-11-15 14:32:33
阅读次数:
174
Selection Sort 选择排序基本思想:在未排序的序列中找到最小元素,放在序列的起始位置,从剩余的未排序的序列中继续寻找最小元素,放在已排序的队列末尾。直到所有的元素都排序完成。C语言实现:#include #include int lists[5] = { 4,3,1,2,5 };void... ...
分类:
编程语言 时间:
2016-11-15 00:52:22
阅读次数:
306