练手代码(分治实现):

input:

int input[] = {12,6,3,9,10,6,2};

output:

=======================
len = 7
input[0]=2
input[1]=3
input[2]=6
input[3]=6
input[4]=9
input[5]=10
input[6]=12

这里强烈推荐一款web端代码编译网站,不用换个机器想写点code还必须安装编译器。

http://codepad.org/ 

界面如下:

int partition(int input[],int low,int high){
int pivot = input[low];
while(low < high){
  while(low < high && input[high] >= pivot) high--;
  input[low] = input[high];
   while(low < high && input[low] <= pivot) low++;
  input[high] = input[low];
}//low=high时跳出
input[low] = pivot;
return low;
} int quicksort(int input[],int inplen,int low,int high){//快速排序
int k=;
if(low < high){
k = partition(input,low,high);
quicksort(input,inplen,low,k-);
quicksort(input,inplen,k+,high);
}
return ;
} int main(){
printf("=======================\n");
int input[] = {,,,,,,};
int input1[] = {,,};
int len = sizeof(input)/sizeof(int);
printf("len = %d\n",len);
quicksort(input,len,,len-);
int i=;
for(;i<len;i++){
printf("input[%d]=%d\n",i,input[i]);
}
return ;
}

c语言:快速排序的更多相关文章

  1. C语言快速排序

    复习快速排序,用C语言实现: #include <stdio.h> int quicksort(int begin, int end, int a[], int len); void ma ...

  2. c语言 快速排序---归并排序----堆排序

    //快速排序: #include <stdio.h> #define MAX 500000 int s[MAX]; void Q_Sort(int start,int end) { int ...

  3. c语言 快速排序

    #include<stdio.h> #include<stdlib.h> #define BUF_SIZE 10 void display(int array[], int m ...

  4. c语言快速排序算法(转)

    原文链接http://blog.csdn.net/morewindows/article/details/6684558 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常 ...

  5. C语言“快速排序”函数写法

    代码是:C语言中快速排的写法,要加入头文件   <stdlib.h> qsort(数组名, 长度, 数据类型大小,比较算子 ): #include <stdio.h> #inc ...

  6. C语言快速排序函数------qsort();

    #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> ty ...

  7. C语言排序

    排序算法 快速排序 C语言快速排序qsort(数组,长度,元素大小,cmp函数(*,*))//注意函数cmp的参数为指针 #include <stdio.h> #include <s ...

  8. C++程序设计(一)

    1. 函数指针 程序运行期间,每个函数都会占用一段连续的内存空间.而函数名就是该函数所占内存区域的起始地址(也称"入口地址").我们可以将函数的入口地址赋给一个指针变量,使该指针变 ...

  9. 快速排序(Quick Sort)的C语言实现

    快速排序(Quick Sort)的基本思想是通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对着两部分记录继续进行排序,以达到整个序列有序,具体步骤 ...

  10. 深入浅出数据结构C语言版(20)——快速排序

    正如上一篇博文所说,今天我们来讨论一下所谓的"高级排序"--快速排序.首先声明,快速排序是一个典型而又"简单"的分治的递归算法. 递归的威力我们在介绍插入排序时 ...

随机推荐

  1. Middleware详解

    Middleware详解 在第1章项目结构分析中,我们提到Startup.cs作为整个程序的入口点,等同于传统的Global.asax文件,即:用于初始化系统级的信息(例如,MVC中的路由配置).本章 ...

  2. 微软不也是从Altair Basic这丑小鸭长成白天鹅吗?

    微软不也是从Altair Basic这丑小鸭长成白天鹅吗? February 2015 如果你想要弄清楚初创企业是怎么一回事的话,其中一个非常有价值的尝试是去研究下那些获得巨大成功的公司,去分析下为什 ...

  3. C语言库函数大全及应用实例一

    原文:C语言库函数大全及应用实例一                                 [编程资料]C语言库函数大全及应用实例一 函数名: abort 功 能: 异常终止一个进程 用 法: ...

  4. js面向对象+一般方法的选项卡

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. java ResultSet 结果集处理 createStatement() 里参数的意义(第一弹)

    createStatement(int   resultSetType,int  resultSetConcurrency)参数一:结果集类型可取值:  1.ResultSet.TYPE_FORWOR ...

  6. Java中“==”和equals()方法

    这是在Thinking in Java中看到的. 第一个程序 public class Exponents { public static void main(String []args){ Inte ...

  7. leetcode[55] Merge Intervals

    题目:给定一连串的区间,要求输出不重叠的区间. Given a collection of intervals, merge all overlapping intervals. For exampl ...

  8. ajax提交表单 验证

    function submitKH(mobileInputId,nameInputId) { var mobileInputSelector ='#'+ mobileInputId; var pass ...

  9. ASP.NET vNext 在 Mac OS

    让 ASP.NET vNext 在 Mac OS 中飞呀飞...   写在前面 阅读目录: 娓娓道来 Install ASP.NET vNext Command Line Tools 安装 Homeb ...

  10. codeblock 设置背景颜色

    今天觉得codeblock看着刺眼,想了想,能不能跟vs利用dark背景一样可以设置一个舒服的背景.于是就开始各种点击,各种摸索了. 1. 背景和各种颜色设置 不妨先说下vs中的设置是:工具(Tool ...