1、冒泡法,相邻的两个数值,进行比较,满足条件的进行互换 交换排序法 /** * 简单的交换排序 * 冒泡排序初级版 *这个不算是标准的冒泡排序算法,因为不满足“两两比较相邻记录”的冒泡排序思想,她更应该是最最简单的交换排序而已 * 思路:让每一个关键字和她后面的“每一个”关键字比较,如果大则交换 ...
分类:
编程语言 时间:
2016-05-31 12:22:17
阅读次数:
315
1、基本思想 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 (1) 分治法的基本思想 分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题, ...
分类:
编程语言 时间:
2016-05-24 18:56:45
阅读次数:
268
今天,给大家带来的是交换排序。首先,我们来了解一下什么叫交换排序。所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。那么接下来,我们来看一下。冒..
分类:
编程语言 时间:
2016-05-24 17:06:01
阅读次数:
279
数据结构中的排序算法分为比较排序,非比较排序。比较排序有插入排序、选择排序、交换排序、归并排序,非比较排序有计数排序、基数排序。下面是排序的具体分类:1.直接排序主要思想:使用两个指针,让一个指针从开始,另一个指针指向前一个指针的+1位置,两个数据进行比较voidI..
分类:
编程语言 时间:
2016-05-22 18:39:26
阅读次数:
282
比较排序是比较常见的排序算法,它分为以下几个类:交换排序:冒泡排序(BubbleSort)和快速排序(QuickSort)。插入排序:直接插入排序和希尔排序(ShellSort)。选择排序:选择排序(SelectSort)和堆排序(HeapSort)。(一)交换排序:voidBubbleSort(int*arry,intsize)
{
..
分类:
编程语言 时间:
2016-05-15 12:41:27
阅读次数:
243
在网上论坛上看了很多例子,快速排序算法是各公司面试笔试常考的一种算法,并且在平时的实际应用中表现形式和实现过程也是非常优秀,笔者认为快速排序法的思想就是基于冒泡排序法,冒泡排序法是将相邻元素进行比较来进行元素的交换排序,而快速排序法则通过确定一个基准元素,将比它大或者小的的元素分别归为一组从而进行递归排序,这里具体的实现结果有点像二分法的概念。在这里借用一张网上的图片来进一步解释...
分类:
编程语言 时间:
2016-05-12 20:49:20
阅读次数:
162
Java排序,据说有八大排序,小编这次系列博客可能讲不了全部,我将自己理解比较到位的几个排序,和大家分享一下吧。今天来说一说冒泡排序,其实冒泡排序属于交换排序的一种,冒泡排序是最经典的交换排序,它的算法思想是:(假设数据存放在数组a[n]中)
1.比较a[0]和a[1],如果a[0]>a[1],则交换a[0],a[1],然后比较新的a[1](可能是原来的a[0])和a[2],如果a[1]>a...
分类:
编程语言 时间:
2016-05-12 18:54:40
阅读次数:
223
交换排序是指在排序过程中,通过比较待排序记录序列中元素间关键字的比较,将存储位置进行交换来达到排序目的的方法。 ...
分类:
编程语言 时间:
2016-05-04 10:10:35
阅读次数:
211
7.3交换排序 7.3.1冒泡排序 123 ...
分类:
编程语言 时间:
2016-05-01 01:07:55
阅读次数:
174
交互排序思想:在待排序的序列中选择两个记录,将他们的关键码进行比较。如果反序则交互它们的位置。 冒泡排序 基本思想:将序列分为有序区,无序区。每次从无序区冒泡一个最小的记录。 冒泡过程:从无序区从后往前扫描,两个相邻记录比较,如果后面比前面的小,则交互。 算法分析 冒泡排序-java实现 /** *... ...
分类:
编程语言 时间:
2016-04-30 17:00:32
阅读次数:
205