博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快排过程分析
阅读量:2384 次
发布时间:2019-05-10

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

void quicksort(int a[], int left, int right) {

int i,j,t,temp; if(left>right)  //(递归过程先写结束条件)

return; temp=a[left]; //temp中存的就是基准数 

i=left; j=right;

while(i!=j) {

while(a[j]>=temp && i<j)

j--;  

  while(a[i]<=temp && i<j)

i++; 

  if(i<j) {

t=a[i];

a[i]=a[j];

a[j]=t;

}

a[left]=a[i];

a[i]=temp;

因为a[i]位置上的数字一定比temp要小,此时交换a[i]和temp也是保证数组的有序性

尤其是在只有两个元素的数组中:{40,38}

前面都没有交换的过程,全靠这两步实现交换,保证数组的有序性。

quicksort(a,left,i-1);

quicksort(a,i+1,right);

 

 

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

你可能感兴趣的文章
冒号和他的学生们(连载13)——范式总结
查看>>
A Proposal on Organization of Information System
查看>>
冒号和他的学生们(连载2)——首轮提问
查看>>
正则表达式与文件格式化处理
查看>>
Java EE互联网轻量级框架整合开发
查看>>
Java语言程序设计(基础篇)
查看>>
大型网站技术架构:核心原理与案例分析
查看>>
JAVA并发编程实战
查看>>
RabbitMQ实战++高效部署分布式消息队列
查看>>
微服务设计
查看>>
Spring Cloud微服务实战
查看>>
C++ static 语义
查看>>
C++ static 语义
查看>>
Linux Cgroups概述
查看>>
centos7 硬盘性能测试
查看>>
cgroup使用--cpu资源限制
查看>>
cgroup使用--memory资源限制
查看>>
Redis 单机环境搭建
查看>>
elasticsearch 单机环境搭建
查看>>
spark 独立模式部署
查看>>