快速排序
来源:互联网 发布:西安79家网络诈骗公司 编辑:程序博客网 时间:2024/05/16 15:15
#include <iostream>#include <cstdio>#include <cmath>#include <ctime>using namespace std ; int* array = NULL ; void get_rand_num(int ** parray , int len)//生成一个随机数组{srand((unsigned int )time(NULL)) ; //下种子*parray = new int[len] ; for(int i = 0 ; i < len ; i++){(*parray)[i] = rand() % len ; }}void qsort( int *array , int _low , int _height ) {if(_low >= _height )//递归基return ; int low = _low ; int height = _height ; int pviod = low ; int temp = array[ low ] ; //附加内存tempwhile( low <height )//如果连个下标不相等继续移动{while( low <height )//向左移动height{if( array[ height ] < temp ){array[ low ] = array[ height ] ; break;}height-- ; }while( low < height ) //向右移动low{if( array[ low ]> temp ){array[ height ] = array[ low ] ;break ;}low++ ; }}array[ low ] = temp ; qsort(array , _low , low -1 ) ;//递归调用1qsort(array , low + 1 , _height ) ; //递归调用2return ; }int main(int argc , char** argv){//获取随机数组并输出int len = 100 ; get_rand_num(&array , len) ; cout<<"random array result:"<<endl ;for(int i = 0 ; i <len ; i++){cout<<"i = "<<array[ i ] <<endl ; }//快速排序qsort(array , 0 , len -1) ; for(int i = 0 ; i < len ; i++) {cout<<"i:"<<i<<"--"<<array[ i ]<<endl ; }delete[ ]array ; array = NULL ; system("pause") ; return 0 ;}
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- mysql性能优化-慢查询分析、优化索引和配置
- 恢复控制文件故障详细步骤
- Ubuntu NTFS文件系统下没有执行权限的问题
- 处理百万级以上的数据处理
- flume+kafka+storm+redis/mysql启动命令记录
- 快速排序
- PB中扩展嵌套结构
- NFC:Arduino、Android与PhoneGap近场通信
- 用smo 生成sql server 2012 中 AdventureWorks2012表定义脚本 排除PropertyNotSetException
- LRU Cache
- onvif学习
- PHP工程师面临的成长瓶颈
- 第四章Oracle恢复内部原理(热备份)
- Git 打Tag 并提交到服务器