#include
#include
#include
#include
#include
#include
#include
using namespace std;
int num[9] = {7,10,19,25,12,17,21,30,48};
void quicksort(int sta,int ed){
int i = sta,j = ed,x = num[sta]...
分类:
其他好文 时间:
2014-06-17 22:54:27
阅读次数:
352
一:截图二:快速排序详解快速排序法(QuickSort)是一种非常快的对比排序方法。它也Divide-And-Conquer思想的实现之一。自从其产生以来,快速排序理论得到了极大的改进,然而在实际中却十分难以编程出正确健壮的代码。本文将对快速排序算法的基本理论和编程实践方面做作一个全面的讲解。在本文...
分类:
其他好文 时间:
2014-06-17 21:10:17
阅读次数:
244
持续添加中。。。1 快排 1 void QuickSort(int data[],int
left,int right) 2 { 3 4 if(left=temp)14 j--;15 16 data[i]=data[j];17 18 ...
分类:
其他好文 时间:
2014-06-16 08:25:32
阅读次数:
221
本题的树状数组稍微有点特点,就是需要所谓的离散化一下,开始听这个名称好像很神秘的,不过其实很简单。
就是把一个数组arr的值,其中的值是不连续的,变成一组连续的值,因为这样他们的顺序是不变的,所以,不影响结果。
例如:9 1 0 5 4 ->变为:5 2 1 4 3看出他们的相对位置不变的。
9和5为最大值在第一个位置,1和2为第二大的值在第二个位置,0和1在第一个位置等,看出对应顺序了吗?...
分类:
其他好文 时间:
2014-06-10 16:01:28
阅读次数:
257
算法导论上面快速排序的实现。代码:def partition(array, left, right):
i = left-1 for j in range(left, right): if array[j] <= array[right]: i += ...
分类:
编程语言 时间:
2014-06-06 18:18:13
阅读次数:
351
继上一篇堆排序之后,用相同的数据结构写了个快速排序和插入排序,当数组的长度较小的时候,可使用插入排序,实现如下:QuickSort.h 1 #ifndef
__QUICKSORT 2 #define __QUICKSORT 3 #include "MySqList.h" 4 #include "In...
分类:
其他好文 时间:
2014-06-06 10:50:30
阅读次数:
282
快速排序的平均性能相当好,故快速排序通常是用于排序的最佳的使用选择。
该算法的关键是对数组进行初始划分。进行完数组划分之后,需要递归地将划分出来的两子数组分别进行快速排序。...
分类:
其他好文 时间:
2014-06-05 01:11:08
阅读次数:
258
quick sort of array and linked list
分类:
其他好文 时间:
2014-06-03 08:16:22
阅读次数:
359
An iterative way of writing quick sort:
#include
#include
#include
using namespace std;
void quickSort(int A[], int n) {
stack> stk;
stk.push(make_pair(0, n-1));
while (!stk.empty()) {
pair ...
分类:
其他好文 时间:
2014-06-03 00:16:43
阅读次数:
357
Sort ListSort a linked list inO(nlogn) time
using constant space
complexity.要求时间复杂度为O(nlogn),那么不能用quickSort了(最坏O(n^2)),所以使用mergeSort.通常写排序算法都是基于数组的,这题...
分类:
其他好文 时间:
2014-06-02 06:29:51
阅读次数:
192