POJ2299,题目链接http://poj.org/problem?id=2299题意:给出长度为n的序列,每次只能交换相邻的两个元素,问至少要交换几次才使得该序列为递增序列。思路:其实就是求逆序数,那么直接向到的就是冒泡了,交换一次,记录一次即可。但是n的范围达到50W,冒泡O(n^2)的复杂度...
分类:
其他好文 时间:
2014-06-18 23:21:12
阅读次数:
214
#include #include // 第一题// 找出N个数的第k个最大者// 方法1:排序(冒泡),降序找出第k个值// 方法2:选前k个点进行降序排序,后面的数进行比较,// 如果数比第k个数小则忽略, 复杂度低于方法1#define TYPE int#define TESTBUBLESOR...
分类:
其他好文 时间:
2014-06-18 22:43:15
阅读次数:
335
昨日写完冒泡排序,和大多数人的感觉一样,太简单,丝毫没有挑战性。但楼主是一个追求踏实平稳的人,希望地基坚固,也为方便后面学习和研究更加高深的算法。但在研究效率上还有待提高,楼主一定好好努力。今天将会写完选择排序 和 插入排序,本文主在选择排序。一. 算法描写叙述 选择排序:比方在一个长度为N的...
分类:
其他好文 时间:
2014-06-18 17:03:35
阅读次数:
190
package foo;public class Main { public static void bubbleSort(int[] a, int len) { int in, out; for (out = len - 1; out > 0; --out) { ...
分类:
其他好文 时间:
2014-06-18 14:18:37
阅读次数:
158
1、冒泡排序
1)原理说明:重复遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
2)代码实现:
package com.test.sort;
public class BubbleSort
{
public static void sort(int[] data)
{
...
分类:
编程语言 时间:
2014-06-16 20:00:39
阅读次数:
253
package com.hello;
public class HelloJava {
/**
* 冒泡排序(通过一次一次的循环,根据相近两个值进行比较,将大的值往下移)
* @author MR ZHANG
* @param arr
* @return
*/
public static void getBubbleSort(int[] arr){
for(int i...
分类:
其他好文 时间:
2014-06-16 14:31:50
阅读次数:
250
HTML5事件contextmenu事件contextmenu事件是冒泡的,可以将事件处理程序指定到document,这个事件的目标是用户操作的元素,在兼容DOM的浏览器中使用event.preventDefalut()取消默认行为,在IE中将event.returnValue的值设置为false取...
分类:
编程语言 时间:
2014-06-15 16:50:52
阅读次数:
299
交换排序:两两比较待排序记录的关键码,若是逆置,则交换,直到无逆置。其中最简单的交换排序是:冒泡排序。
冒泡排序(Bubble Sort,也叫起泡排序):不断地比较相邻的记录,若是不满足排序要求,则交换。
交换时,可从前向后,也可从后向前。看一个从前向后的排序过程:...
分类:
其他好文 时间:
2014-06-15 08:59:39
阅读次数:
280
归并排序,原地归并排序,冒泡排序,选择排序,逆序对数(n^2, nlgn)
分类:
其他好文 时间:
2014-06-14 18:49:48
阅读次数:
288