1 #include<iostream> 2 3 using namespace std; 4 #define swap(a,b) {int t;t = a;a = b;b = t;} 5 //节点类型的定义 6 typedef struct node 7 { 8 int data; 9 node ...
分类:
编程语言 时间:
2019-12-16 22:29:29
阅读次数:
131
算法例题 用随机函数生成16个2位正整数(10~99),利用 双向冒泡排序法 将其排序。 算法思路 个人概括 在我看来 双向冒泡排序 就是 "冒泡排序" 的一个小改变,并不是改进优化。 每一趟排序分成两个部分,同时在得到最后的有序序列前,把有序序列分成两部分,一部分在原无序序列后(和普通冒泡排序一样 ...
分类:
编程语言 时间:
2019-12-01 18:42:40
阅读次数:
317
鸡尾酒排序 鸡尾酒排序思路,先从左边开始进行冒泡排序,第一趟冒泡排序完,最大值在的数组的最右端,然后进行第二趟排序,第二趟排序从右边开始排序,第二趟结束时,最小值在数组最左端,以此类推,每一趟排序完都能将一个在当前数组(不包括之前排序得到的最大或者最小的数)中最小或者最大的数放在对应的位置。 算法过 ...
分类:
编程语言 时间:
2019-08-06 12:23:52
阅读次数:
87
Problem D: 双向冒泡排序 Description 注:本题只需要提交填写部分的代码 双向冒泡从小到大排序算法描述: (1)从当前序列的第1个元素开始,对相邻元素从前往后两两比较,不满足条件(从小到大)则彼此交换,一直到序列结束。此时最后1个元素为最大值。 (2)从当前序列的倒数第2个元素开 ...
分类:
编程语言 时间:
2018-04-22 20:14:05
阅读次数:
237
冒泡排序算法是一种较为简单的并且稳定的排序算法,该算法的时间复杂度最好为O(n),最差时为O(n^2),需要的空间复杂度为O(1)。 这里的算法稳定性是指 经过排序后,各元素仍然能保持它们在排序之前的相对次数,就称该算法是稳定的,反之,则为不稳定的。 例如,一组数排序前是a1,a2,a3,a4,a5 ...
分类:
编程语言 时间:
2017-11-03 13:11:58
阅读次数:
212
算法: 1、依次比较相邻的两个数,将小数放在前面,大数放在后面; 2、第一趟可得到:将最大数放到最后一位。 3、第二趟可得到:将第二大的数放到倒数第二位。 4、如此下去,重复以上过程,直至最终完成排序。 ...
分类:
编程语言 时间:
2017-06-02 15:44:57
阅读次数:
200
**排序算法**应该算是一个比较热门的话题,在各个技术博客平台上也都有一些博文进行了一定程度的讲解。但还是希望能从自我完善的角度出发,可以更详细、全面、形象地表达这些算法的精髓。本文就先从最简单的冒泡排序开始说起,别说你已经彻底了解了冒泡排序算法(虽然一开始我也是这样以为的)。...
分类:
编程语言 时间:
2016-01-29 12:26:31
阅读次数:
268
Shaker序列 –算法1、 气泡排序的双向进行,先让气泡排序由左向右进行。再来让气泡排序由右往左进行,如此完毕一次排序的动作2、 使用left与right两个旗标来记录左右两端已排序的元素位置。一个排序的样例例如以下所看到的:排序前:45 19 77 81 13 28 18 1977 11往右排序...
分类:
编程语言 时间:
2015-08-11 22:52:27
阅读次数:
172
C/C++中的经典排序算法总结
在C/C++中,有一些经典的排序算法,例如:冒泡排序、鸡尾酒排序或双向冒泡排序(改进的冒泡排序)、选择排序、直接插入排序、归并排序、快速排序、希尔排序和堆排序等等。下面对这些排序算法进行一一解析并给出示例代码以共享之。
1、冒泡排序
冒泡排序是最基本的排序算法,之所以称之为冒泡排序是因为在冒泡排序的过程中总是大数往前放,小数往后放,相当...
分类:
编程语言 时间:
2015-07-23 12:09:13
阅读次数:
161
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
一、算法原理
冒泡排序算法的运作如下:
1、比较相邻的元素。如果第一个比第...
分类:
编程语言 时间:
2015-06-18 07:08:22
阅读次数:
146