算法导论:快速排序代码
来源:互联网 发布:ios开发 耗电量优化 编辑:程序博客网 时间:2024/05/18 03:01
#include <iostream>using namespace std;void exchange(int& a, int& b){ int temp; temp = a; a = b; b = temp;}int part(int* a,int p,int r){ int x = a[r]; int i = p-1; for(int j=p;j<=r-1;j++) { if(a[j]<=x) { i=i+1; exchange(a[i],a[j]); } } exchange(a[i+1],a[r]); return i+1;}void quicksort(int* a,int p, int r){ int q; if(p<r) { q = part(a,p,r); quicksort(a,p,q-1); quicksort(a,q,r); }}void print(int* a,int n){ for(int i=0;i<n;i++) cout<<a[i]<<" ";}int main(){ int a[10]={3,5,21,1,9,56,4,6,12,19}; quicksort(a,0,10); print(a,10); cout << "Hello world!" << endl; return 0;}
对照书上伪代码可以写出程序,注意的是,在partition中,p指的是起始元素索引,r是结束元素索引,在不同语言中实现要注意下标。
0 0
- 算法导论:快速排序代码
- 算法导论-快速排序
- 【算法导论】快速排序
- 算法导论-----快速排序
- 【算法导论】快速排序
- 算法导论:快速排序
- 快速排序--【算法导论】
- [算法导论]快速排序
- [算法导论]快速排序
- 算法导论------快速排序
- 【算法导论】快速排序
- 算法导论---快速排序
- 【算法导论】快速排序
- 快速排序 算法导论
- 算法导论--快速排序
- 【算法导论】快速排序
- 算法导论--------快速排序
- 【算法导论】快速排序
- 仿iphone快速导航悬浮球
- Gray Code - Leetcode
- LDA算法入门
- ccflow (ccoa)修改菜单
- Android 开发中Handle 没有handleMessage方法
- 算法导论:快速排序代码
- linux驱动开发之前篇1
- Javascript 将 ThinkPHP 分页自动转换为 bootstrap 分页
- 堆和栈的区别(转过无数次的文章)
- 2014博客之星,感激自己,谢谢大家
- dpkg: dependency problems prevent configuration
- ivy extends--ivy间的依赖
- 高通8X25Q wifi BT 调试文档
- Unity3D游戏开发之详解 Animation类和Animator类