Quick sort implementation (Introduction to Algorithms)

原创 2011年01月10日 00:17:00

int myqsort_partition(int *A, int p, int r)
{
    int pivot = A[r];
    int store_idx = p;
    for(int idx = p; idx <= r; ++idx)
    {
        if(A[idx] < pivot)
        {
            std::swap(A[store_idx], A[idx]);
            store_idx++;
        }
    }
    std::swap(A[store_idx], A[r]);
    return store_idx;
}

void myqsort(int *A, int p, int r)
{
    if(p < r)
    {
        int q = myqsort_partition(A, p, r);
        myqsort(A, p, q-1);
        myqsort(A, q+1, r);
    }
}

 

 

.....

.....

.....

 

        int A[] = {3, 2, 1, 4, 76, 9, 34, 3, 8};
        int cnt = sizeof(A)/sizeof(A[0]);
        copy(A, A+cnt, ostream_iterator<int>(cout, ","));
        cout << endl;
        myqsort(A, 0, cnt-1);
        copy(A, A+cnt, ostream_iterator<int>(cout, ","));
        cout << endl;

相关文章推荐

introduction to algorithms sorting lesson_4 quick sorting

快速排序是众多排序中平均性能最好最快的排序算法 其

introduction to algorithms sorting lesson_6 Counting sort (计数排序)

计数排序 可在

MERGE-SORT: INTRODUCTION TO ALGORITHMS

Merge sort:归并排序Animation An example of merge sort. First divide the list into the smallest unit (1 ...
  • IOIO_
  • IOIO_
  • 2015年05月31日 13:17
  • 454

Solution for Introduction to Algorithms (3rd Edition) Exercise 26.4-2

Exercise 26.4-2     Show how to implement the generic push-relabel algorithms using O(V)  time per ...

算法导论(Introduction to Algorithms)之算法入门(插入排序与合并排序C语言实现)

源码下载地址:http://download.csdn.net/detail/mr_dodo/4938878 插入排序: 其算法时间复杂度为C1*n2,C1为一个与n无关的系数,即其算...
  • Mr_dodo
  • Mr_dodo
  • 2012年12月28日 17:29
  • 1196

算法导论(Introduction to Algorithms )— 第二章 算法入门 — 2.1 插入排序

算法导论(Introduction to Algorithms )— 第二章 算法入门 — 2.1 插入排序,及习题拙见...
  • zxnlmj
  • zxnlmj
  • 2014年06月03日 22:47
  • 856

Introduction to Algorithms 算法导论 第2章 算法入门 学习笔记及习题解答

2.1 插入排序 插入排序解决的问题:     输入:n个数构成的序列     输出:排序输入序列为,满足a1' ≤ a2' ≤ ... ≤ an' 伪码: INSERTION...
  • cppgp
  • cppgp
  • 2011年12月29日 15:42
  • 4883

introduction to algorithms data structure lesson_1 stack

前面介绍了各种常见的排序算法,第二部分介绍

麻省理工学院《算法导论》(MIT - Introduction to Algorithms) 视频教学下载地址

ed2k://|file|%5BMIT%E7%AE%97%E6%B3%95%E5%AF%BC%E8%AE%BA.%E8%A7%86%E9%A2%91%5D.1.ocw-6.046-07sep2005-...

[Introduction to Algorithms 学习笔记] 单源最短路径

可以解决那些问题?一般性的问题叙述已知一个带权重的有向图G=(V,E) 和权重函数 ω:E→R (该权重函数将有向图中的每条边)映射他的权重。图中任一路径 p= ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Quick sort implementation (Introduction to Algorithms)
举报原因:
原因补充:

(最多只允许输入30个字)