交换排序,顾名思义,肯定是通过两个数或者几个数之间的比较和交换来达到排序的目的。基于交换的排序主要有冒泡排序和快速排序。1、冒泡排序通过两两之间的比较和交换,每次冒出一个最大的记录(升序)或者最小的记录(降序)。void bubbleSort(int arr[],int n){ int o...
分类:
编程语言 时间:
2015-04-26 18:00:15
阅读次数:
142
交换排序(冒泡排序,快速排序);插入排序(直接插入排序,希尔排序);选择排序(简单选择排序,堆排序);归并排序;java源码实现常见内排序
分类:
编程语言 时间:
2015-04-18 21:43:27
阅读次数:
193
快速排序是东尼·霍尔在1962提出的划分交换排序,并采用一种分治的策略。在这,我们先总结一下:快速排序 = 划分交换排序 + 分治。然后我们在一一介绍他。
划分交换排序...
分类:
编程语言 时间:
2015-04-13 18:59:23
阅读次数:
173
冒泡排序是一种交换排序,它的基本思想是:两两比较序列中造句记录的关键字,如果反序则交换,直到没有反序的记录为止。它的运行过程如下(以升序排序为例):
比较造句的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重...
分类:
编程语言 时间:
2015-04-04 06:53:04
阅读次数:
194
冒泡排序基本代码及其优化 冒泡排序是一种交换排序,它的基本思想是:两两比较序列中相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。它的运行过程如下(以升序排序为例): 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这...
分类:
编程语言 时间:
2015-04-03 20:47:47
阅读次数:
176
排序算法有很多种,主要分为插入排序(直接插入排序、二分法插入排序)、交换排序(冒泡排序、快速排序)、选择排序(简单选择排序、堆排序)等,这里不说原理了,只贴代码。原理可以看严蔚敏的数据结构或者网上有人讲的原理很详细。给大家推荐一个链接点击打开链接
1.直接插入排序
package sortpackage;
import java.util.Arrays;
public class inse...
分类:
编程语言 时间:
2015-04-02 16:25:31
阅读次数:
157
算法说明地精排序是交换排序的一种,它是冒泡排序的一种改良,我感觉和鸡尾酒排序挺像的。不同之处是鸡尾酒排序是从小到大,然后再从大到小切换着排序的。而地精排序是上来先从小到大排序,碰到交换到再从大到小,接着再从小到大进行排序。举个例子:对8,6,4,5,1进行升序排序1、8与6交换,结果是{6,8,4,...
分类:
编程语言 时间:
2015-03-20 17:59:36
阅读次数:
191
算法说明Bogo排序是交换排序的一种,它是一种随机排序,也是一种没有使用意义的排序,同样也是一种我觉得很好玩的排序。举个形象的例子,你手头有一副乱序的扑克牌,然后往天上不停的扔,那么有一定机率会变成有序的。哈哈,就是这样。看一下代码大家就知道了。代码使用的是javapackage hark.sort...
分类:
编程语言 时间:
2015-03-20 16:16:15
阅读次数:
136
算法说明奇偶排序又叫奇偶换位排序,砖排序。它是一种交换排序,也是冒泡的一个变种顾名思义,奇偶排序,其实就是先循环奇数位,然后将奇数位与偶数位比较计算。 然后再循环偶数位,再和奇数位比较运算。看一下代码大家就明白了。据wiki所述,这种算法是一种并行算法,个人对这块现在不太理解,没明白这块所谓的并行是...
分类:
编程语言 时间:
2015-03-20 12:47:48
阅读次数:
137
算法说明鸡尾酒排序又叫定向冒泡排序,鸡尾酒搅拌排序,搅拌排序,涟漪排序,回来排序,快乐小时排序。鸡尾酒排序是交换排序的一种,它是冒泡排序的一个轻微的变种。冒泡是从低向高比较排序,鸡尾酒从低向高,从高向低交换着进行排序。大家看一下代码就知道了。某些特殊有序数组情况下,鸡尾酒排序是效率略好于冒泡排序,例...
分类:
编程语言 时间:
2015-03-20 12:31:27
阅读次数:
161