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

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

#include 
// 数组长度#define LENGTH(array) ( (sizeof(array)) / (sizeof(array[0])) )/* * 快速排序 * * 参数说明: * a -- 待排序的数组 * l -- 数组的左边界(例如,从起始位置开始排序,则l=0) * r -- 数组的右边界(例如,排序截至到数组末尾,则r=a.length-1) */void quick_sort(int a[], int l, int r){ if (l < r) { int i,j,x; i = l; j = r; x = a[i]; while (i < j) { while(i < j && a[j] > x) j--; // 从右向左找第一个小于x的数 if(i < j){ //a[i++] = a[j]; a[i] = a[j]; i++; } while(i < j && a[i] < x) i++; // 从左向右找第一个大于x的数 if(i < j){ a[j] = a[i]; j--; } } a[i] = x; quick_sort(a, l, i-1); /* 递归调用 */ quick_sort(a, i+1, r); /* 递归调用 */ }}void main(){ int i; int a[] = {30,40,60,10,20,50}; int ilen = LENGTH(a); printf("before sort:"); for (i=0; i

 

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

你可能感兴趣的文章
九种 “姿势” 让你彻底解决跨域问题
查看>>
php中mysqli 处理查询结果集总结
查看>>
你不知道的JavaScript运算符
查看>>
小程序开发注意事项
查看>>
ECMAScript7规范中的instanceof操作符
查看>>
Hadoop HDFS原理分析
查看>>
【webpack4】基本配置和入门api
查看>>
Mac使用ssh公钥登录Linux
查看>>
【366天】跃迁之路——程序员高效学习方法论探索系列(实验阶段124-2018.02.06)...
查看>>
POJ3070-Fibonacci(矩阵快速幂)
查看>>
[vue插件]基于vue2.x的电商图片放大镜插件
查看>>
标准的组件结构
查看>>
vue——一个页面实现音乐播放器
查看>>
SVG 扬帆起航
查看>>
NET Core-学习笔记(二)
查看>>
职业生涯上的点点滴滴
查看>>
Linux下添加新硬盘,分区及挂载
查看>>
一起来将vscode变成私人定制笔记本
查看>>
Flutter 云音乐
查看>>
RecyclerView实现多type页面
查看>>