快速排序(递归版本)
2013-02-27 11:04
316 查看
快速排序
#include<iostream> using namespace std; void swap(int *a,int *b) { int temp=*a; *a=*b; *b=temp; } int partition2(int data[],int low,int high) { int i=low; int j=high; int privot = data[low]; while(i<j) { while(data[j]>=privot && i<j) j--; swap(&data[i],&data[j]); //data[i]=data[j]; while(data[i]<=privot &&i<j) i++; swap(&data[i],&data[j]); //data[j]=data[i]; } //data[i]=privot; return i; } void quick_sort(int data[],int low,int high) { if(low<high) { int k=partition2(data,low,high); quick_sort(data,low,k-1); quick_sort(data,k+1,high); } } int main() {//int data[]={4,5,2,3,1}; int data[]={5,4,3,2,1}; cout<<"排序前:"<<endl; int index; for(index=0;index<5;index++) cout<<data[index]; cout<<endl; quick_sort(data,0,4); cout<<"排序后:"<<endl; for(index=0;index<5;index++) cout<<data[index]; }
相关文章推荐
- 快速排序的非递归版本
- 快速排序 归并排序的非递归版本 备忘
- 每日编程7之快速排序非递归版本
- 快速排序的三种实现方式以及非递归版本
- Erlang的算法-(一)递归快速排序和MapReduce分布式的快排
- 快速排序3——非递归实现
- 快速排序的随机化版本
- 快速排序随机化版本
- 递归快速排序
- 快速排序之递归与非递归写法
- 快速排序的js递归实现
- 快速排序的随机化版本代码
- 快速排序的递归实现
- 快速排序的递归和非递归实现 -----C++、JAVA代码实现
- 快速排序的递归和非递归算法
- JAVA 非递归快速排序
- 快速排序的递归实现
- php使用递归与迭代实现快速排序示例
- 快速排序的递归实现
- Java 实现快速排序 递归和非递归