一躺快速排序法

原创 2006年06月09日 16:58:00

一躺快速排序法


佚名

 

 

{快速排序法的一躺排序程序}

program kuaisu(input,output);

type

 arr=array[1..7] of integer;

var

  a:arr;

  i,j,k:integer;

 

  procedure sort(var a:arr;var m,n:integer);

  var

    x,p,q:integer;

  begin

    x:=a[m];

    repeat

      while ((m<n) and (a[n]>x)) do n:=n-1;

      p:=a[m];a[m]:=a[n];a[n]:=p;

      while ((m<n) and (a[m]<x)) do m:=m+1;

      p:=a[m];a[m]:=a[n];a[n]:=p

    until m=n

  end;

 

begin

   writeln('input 10 integer num:');

   i:=1;j:=1;k:=7;

   repeat

      read(a[i]);

      i:=i+1;

   until i>7;

   sort(a,j,k);

   for i:=1 to 7 do

      write(a[i]:4);

   writeln('j=',j:4,'k:',k:4)

end.

 

快速排序理解(挖坑填坑比喻理解)

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个...
  • WitsMakeMen
  • WitsMakeMen
  • 2013年12月02日 22:01
  • 4316

快速排序法应用

题目:第一行输入整数,表示数组大小,第二行输入一个数组,第三行输入两个整数s,m,要求将数组中的元素从 s到m降序输出,要求利用快速排序法。 源程序: #include #include ...
  • It_BeeCoder
  • It_BeeCoder
  • 2016年10月22日 20:12
  • 357

学过的算法中最快捷——快速排序法

上次总结了其他的三种算法:选择排序、冒泡排序和插入排序,这次总结一个更加高效的排序算法——快速排序法,如果想要了解其余三种算法,请移步c#版选择法、冒泡法、插入法和快速排序法分析与对比...
  • cd18333612683
  • cd18333612683
  • 2016年05月15日 20:24
  • 990

快速排序法 java实现 三种方法实现

快速排序法 (1)定义 快速排序使用分治的思想,通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。 (...
  • u013276277
  • u013276277
  • 2017年05月18日 14:27
  • 988

几种常用的排序算法(快速排序,希尔排序,堆排序,选择排序,冒泡排序)

1、归并排序       基本原理:归并排序也称合并排序,其算法思想是将待排序序列分为两部分,依次对分得的两个部分再次使用归并排序,之后再对其进行合并。操作步骤如下。 (1)将所要进行的排序序列分为左...
  • wenqingping5
  • wenqingping5
  • 2017年10月17日 20:47
  • 165

八大排序算法 之 快速排序(填坑法)

排序思想: 1,将第一个数字作为基准数字,将数组分为左右两部分,左边是比它小的数字,右边是比它大的数字; 2,将左部分按照上面的思想再次进行划分成两部分,依次类推; 3,将右部分按照上面的思想再...
  • yxb_yingu
  • yxb_yingu
  • 2016年05月07日 11:36
  • 1036

结合题目讲解“快速排序算法”

根据一道快速排序算法自考题,进行学习方法上的反思,同时讲解自己对快速排序算法的理解...
  • sun15732621550
  • sun15732621550
  • 2016年10月16日 16:44
  • 2486

【排序算法】快速排序原理及Java实现

快速排序是我们之前学习的冒泡排序的升级,他们都属于交换类排序,都是采用不断的比较和移动来实现排序的。快速排序是一种非常高效的排序算法,它的实现,增大了记录的比较和移动的距离,将关键字较大的记录从前面直...
  • jianyuerensheng
  • jianyuerensheng
  • 2016年04月27日 09:08
  • 26580

快速排序的C语言源代码与分析

快速排序的基本思想是: 通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此...
  • guoyong10721073
  • guoyong10721073
  • 2012年09月27日 15:35
  • 30207

“挖坑填坑”理解快速排序

快速排序的基本思路:找一个基准元素,对数组进行调整,调整的标准是,这个基准元素的左边存放的都是比这个元素小的,右边都是比这个元素大的。然后分而治之,对左右两边的子数组利用同样的规则调整,调整到每一个子...
  • N_sev7
  • N_sev7
  • 2017年09月21日 21:27
  • 189
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一躺快速排序法
举报原因:
原因补充:

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