以Quick Sort算法为例子

#include <iostream>#include <stdlib.h>using namespace std;void Qsort(int a[],int low,int high){if(low >= high) return;int first = low;int last = high;int key = a[first];while(first < last){while(first < last && a[last] >= key) –last;a[first] = a[last];while(first < last && a[first] <= key) ++first;a[last] = a[first];}a[first] = key;Qsort(a, low, first – 1);Qsort(a, first + 1, high);}int main(int argc, char **argv){//命令行参数数量判断if (argc == 0) {cout << "Usage: quicksort N\n";return 0;}//命令行第2个参数转换为长整数long N = atoi(argv[1]);//随机化数srand( time(0) );//动态分配内存int *a;a = new int[N]; //C++for(long i = 0; i < N; i++)a[i] = rand();//计时clock_t t1 = clock();Qsort(a, 0, N-1);/*这里原文第三个参数要减1否则内存泄露*/clock_t t2 = clock();cout << (double)(t2 – t1) / CLOCKS_PER_SEC << "毫秒" << endl;/*//输出for(int i=0;i<sizeof(a)/sizeof(a[0]);i++){cout<<a[i]<<"";}*///释放申请的内存delete []a; //C++return 0;}

,放弃那些不愿放弃的,容忍那些不可容忍的。

以Quick Sort算法为例子

相关文章:

你感兴趣的文章:

标签云: