快速排序

原创 2007年10月09日 09:53:00
#include <stdio.h>
#include <stdlib.h>

void QuickSort(int *array, int low, int high)
{
    if(low < high)
    {
        int _low = low;
        int _high = high + 1;
        int provit = array[low];

        int temp = 0;

        while (1)
        {
            while (array[++_low] < provit);
            while (array[--_high] > provit);

            if (_low >= _high)
            {
                break;
            }

            temp = array[_low];
            array[_low] = array[_high];
            array[_high] = temp;
        }
       
        array[low] = array[_high];
        array[_high] = provit;
   
        QuickSort(array, low, _high - 1);
        QuickSort(array, _high + 1, high);
    }
   
}

int main()
{
    int myArray[10] = {

        28, 231, 12, 42, 14, 1, 63, 85, 31, 0
    };

    for (int i = 0; i < 10; i++)
    {
        printf("%d ", myArray[i]);
    }
    printf("/n");

    QuickSort(myArray, 0, 9);

    for (int j = 0; j < 10; j++)
    {
        printf("%d ", myArray[j]);
    }

    return 0;
}

快速排序快速排序快速排序快速排序快速排序

  • 2008年11月20日 15:48
  • 1008B
  • 下载

quicksort快速排序

  • 2009年06月09日 22:30
  • 2KB
  • 下载

快速排序的分析与算法实现

  • 2008年09月28日 10:28
  • 4KB
  • 下载

快速排序 过程图解

注意:此文为转载文章,原文地址为:http://www.cnblogs.com/ahalei/p/3568434.html            原作者:啊哈磊              ...
  • hrn1216
  • hrn1216
  • 2016-05-28 19:39:04
  • 28912

什么是快速排序

什么是快速排序 快速排序简介 快速排序(英文名:Quicksort,有时候也叫做划分交换排序)是一个高效的排序算法,由Tony Hoare在1959年发明(1961年公布)。当情况良好时,...
  • miao309410364
  • miao309410364
  • 2015-06-05 13:28:19
  • 1042

快速排序的三种实现方式以及非递归版本

一、快速排序的基本思想 快速排序利用了分治的思想,分而治之。通过一趟排序将序列分为两部分,其中一部分比较关键字小,一部分比关键字大。之后继续对这两个子序列重复此过程,直到整个序列都有序。 二、快速...
  • a1414345
  • a1414345
  • 2017-07-02 22:30:59
  • 1906

快速排序 快速排序快速排序快速排序

  • 2010年05月25日 15:16
  • 694B
  • 下载

【面试题之算法部分】深入快速排序

本篇文章我将讲述快速排序的基本思想,实现,和时间复杂度的深入分析。基本思想:选取待排序列中的某个元素t,然后按照与该元素的大小关系重新整理序列中的元素,使得整理后的序列中排在t以前的元素均小于t,排在...
  • YoungLeoo
  • YoungLeoo
  • 2015-08-24 18:22:40
  • 1306

简单排序--快速排序

不知亲爱的小伙伴们是否发现,快速排序的交换是跳跃式的,交换的距离变大了很多了,不像冒泡排序那样是相邻的排序,这样效率就提高了很多。...
  • SweetyoYY
  • SweetyoYY
  • 2016-05-22 16:56:30
  • 1280

C++版本快速排序

总体思想先找到一个枢轴,让他作为分水岭。通过一趟排序将待排序的记录分割成独立的两部分,前面一部分都比枢轴小,后面一部分逗比枢轴大,然后又分别对这两部分记录继续进行递归的排序,达到整个序列有序的目的。核...
  • lzjsqn
  • lzjsqn
  • 2016-11-15 10:37:11
  • 1022
收藏助手
不良信息举报
您举报文章:快速排序
举报原因:
原因补充:

(最多只允许输入30个字)