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

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

快速排序基本思想:挖坑填数+分治法

快速排序的分治partition过程有两种方法,一种是上面所述的两个指针索引一前一后逐步向后扫描的方法(算法导论上采用的是这种方法),还有一种方法是两个指针从首位向中间扫描的方法(大多数的人和一般的教材采用的是这第二种首尾向中间扫描法)。本文采用第二种方法。

1,把第一个作为基准,

2,先从后向前找,找到小于的,放在第一个

3,再从前向后找,找到大于的,放在刚刚移过的坑中,然后重复

 

 
#include
#include
#define Length 500 //函数声明 void QuickSort(long*,long,long); long Partition(long*,long,long); void Swap(long*,long*); int main() { long L[Length]; long i=0; printf("请分别输入%d个整数:\n",Length); for(i=0;i
=pivotkey) high--; Swap(&L[low],&L[high]); while(low
<=pivotkey) low++; Swap(&L[low],&L[high]); } return low; } //用于交换数据的函数 void Swap(long* a,long* b) { long temp; temp=*a; *a=*b; *b=temp; }

 

 

 

 

 

转载于:https://www.cnblogs.com/louffy/archive/2011/10/05/9496728.html

你可能感兴趣的文章
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
django Models 常用的字段和参数
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Jquery ui widget开发
查看>>
关于indexOf的使用
查看>>
英语单词
查看>>
centos6.8下安装matlab2009(图片转帖)
查看>>
Mongo自动备份
查看>>
enq: SQ - contention
查看>>
cer证书签名验证
查看>>
ant 安装
查看>>
新手Python第一天(接触)
查看>>