package testSortAlgorithm;public class QuickSort {public static void main(String[] args) {int [] array = {49,38,65,97,76,13,27};quickSort(array, 0, ar...
分类:
编程语言 时间:
2014-11-06 10:45:20
阅读次数:
222
前几天实现了直接插入排序、冒泡排序和直接选择排序这三个基础排序。今天看了一下冒泡排序的改进算法,快速排序。单独记录一下,后面还有归并和基数排序等快速排序1.选择一个支点默认为数组第一个元素及array[start]作为支点,将所有大于支点元素的值放到支点后面,将所有小于支点元素的值放到支点前面,完成...
分类:
编程语言 时间:
2014-11-05 22:58:49
阅读次数:
345
static final int N=15;
static void quickSort(int[] arr,int left,int right) //快速排序算法
{
int f,t;
int rtemp,ltemp;
ltemp=left;
rtemp=right;
f=arr[(left+right)/2]; //确定分界值...
分类:
编程语言 时间:
2014-11-05 14:56:25
阅读次数:
200
/****qsort.c - quicksort algorithm; qsort() library function for sorting arrays* Copyright (c) Microsoft Corporation. All rights reserved.**Purp...
分类:
其他好文 时间:
2014-11-05 01:48:35
阅读次数:
153
题意:给出长度为n的序列,每次只能交换相邻的两个元素
问至少要交换几次才使得该序列为递增序列
分析:冒泡排序每次只能交换相邻两个元素,也就是求用冒泡排序使其为递增序列的交换次数,每交换一次记录一次就好
但是这题数据较大,冒泡排序效率比较低,会超时的
这里就可以利用归并排序了...
分类:
编程语言 时间:
2014-11-01 17:48:33
阅读次数:
247
class SortClass: NSObject { func quickSort(inout array:[Int]){ self.quick(&array, left: 0, right: array.count-1) } func quickMain(...
分类:
编程语言 时间:
2014-10-31 11:39:31
阅读次数:
228
function quicksort(arr){ function q(start,end){ if(start>=end){return;} var pivot= start, temp = arr[pivot], i = start+1; for(;i=end){...
分类:
编程语言 时间:
2014-10-29 01:50:05
阅读次数:
172
刚才看算法看到里面提到尾递归,于是搜到这个。。然后又仔细看了书上的说法,发现下面说的只是尾递归的最简单形式,尾递归主要是为了缓解递归压力,将递归的某一部分提取出来,减少栈的使用,伪代码中的快排如下所示TAIL_RECURSIVE_QUICKSORT(A,p,r)while p 2 #include ...
分类:
其他好文 时间:
2014-10-28 19:58:15
阅读次数:
310
1 #include 2 using namespace std; 3 #include 4 5 #define LEN 12 6 7 int QuickSort(int *arr,int start,int end); 8 int Sort(int *arr,int start,int ...
分类:
编程语言 时间:
2014-10-28 17:00:32
阅读次数:
147
快速排序算法原理:见上图描述。
代码如下:
package com.huan;
import java.util.Arrays;
import java.util.Random;
public class QuickSort {
public static void main(String[] args) {
int[] data = new int[10];
for (int ...
分类:
编程语言 时间:
2014-10-28 12:18:05
阅读次数:
249