美文网首页
2018-10-02 快速排序

2018-10-02 快速排序

作者: netppp | 来源:发表于2018-10-02 18:51 被阅读0次

unit Unit3;

interface

uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type

  TForm3 = class(TForm)

    Button1: TButton;

    Memo1: TMemo;

    Memo2: TMemo;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form3: TForm3;

implementation

{$R *.dfm}

procedure QuickSort(var N: array of integer; L, R: integer);

var

  m,I, J, IntTemp: integer;

begin

  if L < R then

  begin

    I := L;

    J := R;

    IntTemp := N[I];

    while I < J do

    begin

      while (I < J) and (N[J] >= IntTemp) do

      begin

        J := J - 1;

      end;

      if I < J then

        N[I] := N[J];

      while (I < J) and (N[I] <= IntTemp) do

      begin

        I := I + 1;

      end;

      if I < J then

        N[J] := N[I];

    end;

    N[I] := IntTemp;

    QuickSort(N, L, I - 1);

    QuickSort(N, I + 1, R);

  end;

end;

procedure TForm3.Button1Click(Sender: TObject);

var

  m,I, J: integer;

  IntTemp:string;

  n: array  of integer;        //定义一个动态数组;

  // n: array [0..3] of integer;  静态数组的定义方式

begin

  setlength(n,memo1.Lines.count);    //给动态数组分配空间;

        for m:=0 to memo1.Lines.Count-1 do

  begin

              n[m]:= strtoint(memo1.Lines[m]); //  把MEMO1每行的值压入对应的数组变量

  end;

      {

        n[0]:=4;

    n[1]:=7;

      静态数组的赋值方式

    }

    QuickSort(n,0, memo1.Lines.count-1);      //调用排序函数;  写入要排序的数组,起点值,终点值。

    for m:=0 to memo1.Lines.Count-1 do

    begin

        memo2.Lines.Add(inttostr(n[m]));          //将数组内的排序结果展示到MEMO2;

    end;

end;

end.

相关文章

  • 2018-10-02 快速排序

    unit Unit3; interface uses Winapi.Windows, Winapi.Messag...

  • 七大排序算法之快速排序

    七大排序算法之快速排序 @(算法笔记)[排序算法, 快速排序, C++实现] [TOC] 快速排序的介绍: 快速排...

  • 面试准备--排序

    堆排序 快速排序(simple) 快速排序(regular) 归并排序 Shell排序 插入排序 选择排序 冒泡排序

  • 排序

    插入排序 选择排序 冒泡排序 归并排序 快速排序* 三路快速排序

  • 算法笔记01-排序#2

    快速排序敢叫快速排序,那它一定得快。 快速排序 概述 快速排序也是分治排序的典型,它快,而且是原地排序。不过,要防...

  • PHP 实现快速排序

    导语 这篇了解下快速排序。 快速排序 快速排序(英语:Quicksort),又称划分交换排序(partition-...

  • 快速排序的Python实现

    目录 快速排序的介绍 快速排序的Python实现 快速排序的介绍 快速排序(quick sort)的采用了分治的策...

  • 数据结构与算法 快速排序

    起因:快速排序,又称分区交换排序,简称快排,之前没有了解过,抽空学习一下。 快速排序 1 快速排序 快速排序的定义...

  • 数组-快速排序

    采用快速方式对数组进行排序 快速排序百科:快速排序(Quicksort)是对冒泡排序算法的一种改进.快速排序是通过...

  • OC数据结构&算法

    更多整理资料尽在?一平米小站 目录 选择排序 冒泡排序 插入排序 快速排序 双路快速排序 三路快速排序 堆排序 选...

网友评论

      本文标题:2018-10-02 快速排序

      本文链接:https://www.haomeiwen.com/subject/jwjaoftx.html