快速排序

来源:互联网 发布:天基卫星通信网络 编辑:程序博客网 时间:2024/05/18 01:11
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<vector>#include<string>#include<map>#include<set>using namespace std;const double eps = 1e-10;const int inf = 0x3f3f3f3f;const int mxn = 50020;int part( int *arr, int l, int r ) {int key = arr[l];int lesslen = l;   //小于key的数的长度for( int i = l + 1; i <= r; ++i ) if( arr[i] < key )swap( arr[i], arr[++lesslen] );swap( arr[l], arr[lesslen] );return lesslen;}void Quick_sort( int *arr, int l, int r ) {if( l < r ) {int p = part( arr, l, r );Quick_sort( arr, l, p - 1 );Quick_sort( arr, p + 1, r );}}int main() {int a[] = { 1 , 2 ,1, 40, 32, 23, 30 };Quick_sort( a, 0, 6 );for( int i = 0; i < 7; ++i )printf( "%d ", a[i] );printf( "\n" );return 0;}

0 0
原创粉丝点击