博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速排序
阅读量:7157 次
发布时间:2019-06-29

本文共 1652 字,大约阅读时间需要 5 分钟。

快速排序时间复杂度为O(nlogn),由于是在原数组上面利用替换来实现,因此不需要额外的存储空间。

算法思想:

  通过设置一个岗哨,每次跟这个岗哨进行比较,比他小的放在左边,比他大的放在右边。再对岗哨左边的数组0----middle-1,和middle+1-----end,进行同样的排序。

主要代码:

void QuikSort(int *arr,int begin,int end){   int middle;   if(begin < end){       middle = Patition(arr,begin,end);       QuikSort(arr,0,middle-1);       QuikSort(arr,middle+1,end);   }}int Patition(int * arr,int begin,int end){    int middle  = arr[begin];    int tmp;    while(begin < end){        while(begin < end && arr[end] >= middle)            end--;                    tmp = arr[end];            arr[end] = arr[begin];            arr[begin] = tmp;                while(begin

全部代码:

#include 
#include
#include
int arrtest1[10] = {
4,3,7,8,0,9,1,2,6,5};int arrtest2[10] = {
0,1,2,3,4,5,6,7,8,9};int arrtest3[10] = {
9,8,7,6,5,4,3,2,1,0};void copy(int *from,int *arr,int length);void print(int *arr,int length);void QuikSort(int *arr,int begin,int length);int Patition(int * arr,int begin,int end);int main(){ int Arr[10],i; copy(arrtest1,Arr,10); print(Arr,10); QuikSort(Arr,0,9); print(Arr,10); getchar(); return 0;}void QuikSort(int *arr,int begin,int end){ int middle; if(begin < end){ middle = Patition(arr,begin,end); QuikSort(arr,0,middle-1); QuikSort(arr,middle+1,end); }}int Patition(int * arr,int begin,int end){ int middle = arr[begin]; int tmp; while(begin < end){ while(begin < end && arr[end] >= middle) end--; tmp = arr[end]; arr[end] = arr[begin]; arr[begin] = tmp; while(begin

运行实例:

转载地址:http://mhhgl.baihongyu.com/

你可能感兴趣的文章
php/Java Web国际化的联合解决方案
查看>>
AndroidStudio环境的搭建
查看>>
Postgresql数据类型
查看>>
django-ckeditor 使用
查看>>
布隆过滤器
查看>>
jquary
查看>>
Spring Cloud搭建微服务架构----前言
查看>>
延时任务怎么搞
查看>>
MSql中的延迟
查看>>
android tools的添加路径设置过程
查看>>
ORACLE基本知识:表分区
查看>>
Windows下Eclipse 安装 android maven插件教程
查看>>
简明vim练级攻略
查看>>
slidingmenu使用说明
查看>>
nginx配置摘要
查看>>
传输音频
查看>>
CentOS6 图形界面(gnome)安装
查看>>
CMakeLists 可以设置的参数
查看>>
Android 6.0 解决Recyclerview 在 Scrollview 中不能高度自适应问题
查看>>
WebView Cache 缓存清除
查看>>