近期来闲来无事,整理了一些比较常见的排序算法,都是用C++写的,其中包括:直接插入排序、折半插入排序、冒泡排序、选择排序、快速排序、堆排序、归并排序、希尔排序、基数排序,计数排序和桶排序,总共11种算法,其中时间复杂度为O(n^2)为前4种,中间4中的时间复杂度为O(nlgn),最后3种的时间复杂度 ...
分类:
编程语言 时间:
2016-09-01 18:32:02
阅读次数:
279
sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级。本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能讲讲其用法: 1、sort入门: 使用sort需要包含algorithm头文件,完整代码如下 运行结 ...
分类:
编程语言 时间:
2016-08-31 23:46:07
阅读次数:
255
这篇博客简要总结了七个算法:冒泡排序,选择排序,插入排序,希尔排序,快速排序,归并排序和堆排序。
分类:
编程语言 时间:
2016-08-31 12:11:11
阅读次数:
271
1.冒泡排序 思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 代码实现: 2.选择排序 思路分析 代码实现 3.插入排序 思路分析:在要排序的一组数中 ...
分类:
编程语言 时间:
2016-08-31 02:13:11
阅读次数:
195
注:完全搬自wikipedia,仅用于总结之用 冒泡排序 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 选择排序 首先在 ...
分类:
编程语言 时间:
2016-08-30 22:39:39
阅读次数:
156
数据结构与算法程序=数据结构+算法语言是一种工具语言工具(c,c++)--程序设计方法(面向过程、面向对象)——数据结构(二叉树、队列、栈、红黑树、链表……)——算法(快速排序算法、冒泡排序算法、选择排序算法等等).cpp是c++的源文件,c++语言兼容c语言, 编写c语言代码可以用cpp,c++既 ...
分类:
编程语言 时间:
2016-08-29 22:41:39
阅读次数:
411
基本思想: 每一趟(例如第i趟,i=0,1,2,...,n-2)在后面 n-i 个待排序的数据元素中选出关键字最小的元素,作为有序元素序列的第 i 个元素。 ...
分类:
编程语言 时间:
2016-08-28 09:50:31
阅读次数:
191
选择排序是排序算法的一种,这里以从小到大排序为例停止解说。根本思惟及举例阐明选择排序(从小到大)的根本思惟是,起首,选出最小的数,放在第一个地位;然后,选出第二小的数,放在第二个地位;以此类推,直到一切的数从小到大排序。在完成上,我们平日是先肯定第i小的数地..
分类:
编程语言 时间:
2016-08-27 23:50:47
阅读次数:
221
// 冒泡排序 int[] a = { 4, 20, 3, 9, 14, 23, 10, 59 }; for (int i = 0; i < a.length - 1; i++) { for (int j = 0; j < a.length - i - 1; j++) { if (a[j] > a[ ...
分类:
编程语言 时间:
2016-08-27 21:57:44
阅读次数:
151
继续完成大话数据结构里的简单选择排序,简单排序排序的思想是:通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录。书中用的是下标,我感觉有些不好理解,故就更加麻烦的用了一个循环来查找下标元素,尽管这样时间复杂度增大了,但胜在好理解,当前就是想增大自己的代码量,增强自己的编程能力,故先用 ...
分类:
编程语言 时间:
2016-08-26 15:28:43
阅读次数:
113