题意:废话了一大堆就是要你去求一个序列冒泡排序所需的交换的次数。
思路:实际上是要你去求一个序列的逆序队数
看案例:
9 1 0 5 4
9后面比它小的的数有4个
1后面有1个
0后面没有
5后面1个
4后面没有
所以结果为4+1+0+1+0=6
所以逆序对的定义如果不清楚可以自己总结了
这道题说白了就是要你用归并排序求逆序对数。
下面是搜到某牛给的逆序对数的方法:...
分类:
其他好文 时间:
2014-07-20 09:38:35
阅读次数:
234
//定义一个数组,准备冒泡排序int[] arr={1,3,-4,12,43,6,-2,4};//定义一个中间变量int temp=0; //n个数字比较需要进行n-1次比较for(int i = 0; j < arr.Length - 1 - i; j++){ //每一趟的比较次数为n-i-1.....
分类:
其他好文 时间:
2014-07-19 19:20:36
阅读次数:
188
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要 小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。最坏情况的时间复杂度为O(n2),最好 情况时间复...
分类:
其他好文 时间:
2014-07-19 17:04:01
阅读次数:
228
在排序算法中,简单排序主要有三种,分别为冒泡排序、选择排序、插入排序,学习理解好这三种排序算法有助于进一步研究数据结构与算法分析。下面,简单地谈一谈冒泡排序、选择排序、插入排序的原理及区别。冒泡排序原理:1、比较相邻的元素。如果前一个比后一个大,它们就交换。2、每对元素都要进行同样的动作,从后往.....
分类:
其他好文 时间:
2014-07-19 16:32:37
阅读次数:
203
数组为什么特殊?
Java中大量其他的方式可以持有对象,那么,到底是什么使数组变得与众不同呢?
数组与其他种类的容器之间的区别有三方面:
效率
类型
保存基本类型的能力
与众不同的原因?
泛型之前:
在泛型之前,其他的容器类在处理对象时,都将它们是做没有任何具体类型。也就是说,
它们将这些对象都当做Java中所有类的根类Object处理。数组之所以优于泛型之前的容器,...
分类:
其他好文 时间:
2014-07-19 02:47:16
阅读次数:
206
数组是对象:
无论使用哪种类型的数组,数组标示符其实只是一个引用,指向在堆中创建的一个真实对象,这个数组对象用以保存指向其他对象的引用。
可以作为数组初始化语法的一部分隐式的创建此对象,或者用new表达式显示的创建。
只读成员length是数组对象的一部分(事实上这是唯一一个可以访问的字段或方法),表示此数组对象可以存储多少元素。“[]”语法是访问数组对象的唯一方式。
初始化数组的...
分类:
其他好文 时间:
2014-07-19 02:32:07
阅读次数:
235
本博文介绍两个最常被提起的排序算法:冒泡排序和快速排序。冒泡排序是入门排序算法,思路比较常规,但确是最耗时的排序算法。另一个是被誉为“20世纪最伟大的十大经典算法”的快速排序,以及针对数组特征进行优化的“随机快排”和“平衡快排”。
分类:
其他好文 时间:
2014-07-18 21:17:33
阅读次数:
398
public class M{int[] array = {2,3,6.5.89.4.1.6}; int b = array.length; int temp = 0; for(int i=0;iarray[j]){ temp = a[i]; a[j] = a[i]; ...
分类:
其他好文 时间:
2014-07-18 17:22:22
阅读次数:
244
主要包括冒泡、简单选择、插入、堆排、归并、快排这几种。以后会慢慢补充。可能有错,欢迎指出。#include#includeusing namespace std;//升序int arr[10000],length;//冒泡排序void Bubble_Sort(int *Arr,int length)...
分类:
其他好文 时间:
2014-07-18 15:36:53
阅读次数:
296
java冒泡排序Bubble Sort算法代码 下载代码地址:http://www.zuidaima.com/share/1550463269096448.htm...
分类:
编程语言 时间:
2014-07-18 11:22:48
阅读次数:
261