//快速排序,通过测试
#include "stdio.h"
void quickSort(int* data,int len){
if(len<=) return;
int start=;
int end=len-;
int pivot=data[];
while(start<end){
for(;start<end;end--){
if(data[end]<pivot){
data[start++]=data[end];
break;
}
}
for(;start<end;start++){
if(data[start]>pivot){
data[end--]=data[start];
break;
}
}
}
data[start]=pivot;
quickSort(data,start);
quickSort(data+start+,len-start-);
} void main (){
int data[]={,,,,,,,,};
quickSort(data,sizeof(data)/sizeof(int));
for(int i=;i<sizeof(data)/sizeof(data[]);i++){
printf("%d ",data[i]);
}
}

快速排序c代码的更多相关文章

  1. 快速排序java代码

    法一: //快速排序 通过测试 public class QuickSortTest2 { public static void quickSort(int[] data,int low,int hi ...

  2. 快速排序-php代码实现

    <?php function quickSort(array &$a) { $n = count($a); quickSortInternally($a, 0, $n-1); } fun ...

  3. 递归版快速排序-JS代码

    "use strict" var arr1=[11,21,3,4,0]; function qSort(arr){ var mid,left,right,len,i,j,empty ...

  4. 算法与数据结构(十六) 快速排序(Swift 3.0版)

    上篇博客我们主要聊了比较高效的归并排序算法,本篇博客我们就来介绍另一种高效的排序算法:快速排序.快速排序的思想与归并排序类似,都是采用分而治之的方式进行排序的.快速排序的思想主要是取出无序序列中第一个 ...

  5. C#快速排序算法基础入门篇

    相信算法对于许多开发人员来说都是一大难点,之所以难,就像设计模式一样,许多人在阅读之后,没有很好地理解,也不愿意动手上机操作,只停留在理论的学习上面,随着时间推移就慢慢淡忘. 有些东西,你可以发明创造 ...

  6. 基于visual Studio2013解决算法导论之008快速排序算法

     题目 快速排序 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #in ...

  7. php 四种基础算法 ---- 快速排序法

    4.快速排序法 代码: function quick_sort($arr) {    //先判断是否需要继续进行    $length = count($arr);    if($length < ...

  8. Python 冒泡排序、归并排序、快速排序

    冒泡排序 原理: 代码: def bubble_sort2(arr):for j in range(len(arr) - 1, 0, -1): # [n-1, n-2, ....2, 1]for i ...

  9. 快速排序的java实现

    快速排序也属于“交换”类的排序. 核心思想可以概括为:通过多次划分操作实现排序.每一趟选择当前所有子序列中的一个关键字(通常是第一个)作为枢轴,将小于它的元素统统放到它的前面,大于它的统统放到它的后面 ...

随机推荐

  1. sql sever 两数据表差异比较EXCEPT、INTERSECT

    1.概念: EXCEPT主要是用来获取两个结果集的差:两个结果用EXCEPT链接,返回第一个结果集不在第二个结果集中的数据. INTERSECT主要是用来获取两个结果集的交集:两个结果用INTERSE ...

  2. Ubuntu-虚拟机-忘记登陆密码

    前提 在我们使用Ubuntu虚拟机的过程中,偶尔会出现密码忘了的尴尬事情.里面又有重要资料,不能重新安装,这时我们要重置密码,接下来,让我们共同学习! 重启虚拟机-重启时按住 shift 会出现以下 ...

  3. Oracle集群检测命令

    select inst_id, count(inst_id) from gv$session group by inst_id order by inst_id; srvctl stop databa ...

  4. composer命令介绍之install和update及其区别

    composer 是 php 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 然而,对于如何『安装他们』,新手可能并不清楚.网上的答案有的说 composer in ...

  5. 51nod 1251 Fox序列的数量 (容斥)

    枚举最多数字的出现次数$k$, 考虑其他数字的分配情况. 对至少$x$种数出现$\ge k$次的方案容斥, 有 $\sum (-1)^x\binom{m-1}{x}\binom{n-(x+1)k+m- ...

  6. 解决mac下brew install报错

    Error: Another active Homebrew update process is already in progress.Please wait for it to finish or ...

  7. 16 Scrapy之分布式爬虫

    redis分布式部署 1.scrapy框架是否可以自己实现分布式? - 不可以.原因有二. 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls ...

  8. 第一个简单的Echarts实例

    该示例使用 vue-cli 脚手架搭建 安装echarts依赖 npm install echarts -S 或者使用国内的淘宝镜像: 安装 npm install -g cnpm --registr ...

  9. 大型分布式爬虫准备 scrapy + request

    那些高手 爬虫好文 而我避免这些问题的方式,控制台清除所有定时 var id = setInterval(function() {}, 0); while (id--) clearInterval(i ...

  10. mysql alter 语句用法,添加、修改、删除字段、索引、主键等

    修改表名: ALTER  TABLE admin_user RENAME TO a_use //增加主键 [sql] view plaincopy alter table tabelname add  ...