algorytm.org

Implementacja w Delphi/Pascal

Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Sortowanie przez zliczanie (countingsort) - Implementacja w Delphi/Pascal
Ocena użytkownikóww: *****  / 3
SłabyŚwietny
Nadesłany przez Michał Knasiecki, 13 sierpnia 2005 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

count_d/Unit1.pas:
//Program pobrany ze strony www.algorytm.org
//Opracowal Michal Knasiecki
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    ListBox2: TListBox;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
        Tab=array[1..32000]of integer;
var
  Form1: TForm1;
  Tablica:tab; //Tablica wejsciowa i wyjsciowa
  count:tab;   //Tablica pomocnicza do przechowywania ilosci liczb z tablicy
implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
k:integer;
c:integer;
begin
for i:=1 to 10 do tablica[i]:=strtoint(listbox1.items[i-1]);//Pobieranie danych do tablicy
for i:=1 to 10 do count[i]:=0;//zerowanie tablicy pomocniczej
for i:=1 to 10 do inc(count[tablica[i]]);//pobieranie i-tego wyrazu z tablicy i
//zwiekszanie i-tego wyrazu tablicy pomocniczej
c:=1;
for i:=1 to 10 do
        begin
        if count[i]>0 then for k:=1 to count[i] do//tworzenie tablicy wynikowej
                begin
                tablica[c]:=i;
                inc(c);
                end;
        end;
listbox2.clear;
for i:=1 to (c-1) do listbox2.items.add(inttostr(tablica[i])); //wypisywanie tablicy wynikowej
end;

end.
Dodaj komentarz