ComputerenProgramméiere

Zortéieren Techniken an programméiere: "Bubble" Zortéieren

Bubble Zort ass net nëmmen als déi schnellsten Method ginn, Desweideren, et mécht der Lëscht vun der slowest Weeër ze organiséieren. Mä et huet seng Virdeeler. Sou, d'Method Bubble vun Zortéieren - déi déi weder ass eng natierlech an logesch Léisung fir de Problem, wann Dir d'Artikelen zu engem bestëmmten fir Rendez wëllen. Eng normal Persoun manuell, zum Beispill, ass et hinnen benotzen - just zur Usiicht.

Wou hutt esou en ongewéinlechen Numm?

Method Numm huet, déi Analogie vun Loftblosen am Waasser mat. Et ass eng Metapher. Just als kleng Loft Bubbles klammen Bierg nett - well hir Dicht méi wéi engem Flesseggassystem (an dësem Fall - d'Waasser) ass, an all vill Element, d'kleng et der Wäert ass, déi méi moderate Manéier widdert de Lëscht Zuelen.

Beschreiwung vun der Algorithmus

Bubble Zort ass wéi follegt gesuergt:

  • éischt Passe: d'Elementer vun der vill Zuelen déi zwee Puer geholl ass an och am Verglach. Wann e puer Elementer vun der zwee-Mann Equipe éischt Wäert ass méi grouss wéi déi zweet, mécht de Programm hinnen realiséiert Plazen;
  • doduercher, déi gréisst Zuel vun vermësst Enn vun der Partie. Während all déi aner Elementer bleiwen nodeems se an enger Unificatioun täteg waren, a verlaangen méi Zortéieren;
  • an dofir eng zweet Ugrëff verlaangen: et par Analogie gemaach ass mat der virdrun (schon beschriwwen) an huet eng Rei vu Vergläicher - Minus eent;
  • um Passage Nummer dräi Vergläicher, eent manner wéi den zweeten, an déi zwee, wéi déi éischt. An sou op;
  • WikiCommons, datt all Passage (all Wäerter an der vill, déi besonnesch Nummer) huet Vergläicher Minus (Passage Nummer).

Och kuerz Algorithmus vun engem Programm kann esou geschriwwe ginn:

  • eng Partie vun Zuelen ass esou laang als wéi all zwou Zuelen fonnt ginn, ass den zweeten vun hinnen gebonnen gin méi wéi déi éischt;
  • par rapport zu all aner Elementer vun der vill Software Ofstig mat hir.

Pseudocode baséiert op der Algorithmus beschriwwen

Déi einfach Ëmsetzung ass duerchgefouert wéi follegt:

Sortirovka_Puzirkom Prozedur;

Ufank

Zyklus fir j aus nachalnii_index zu konechii_index;

Zyklus fir ech aus nachalnii_index zu konechii_index-1;

wann massiv [i]> massiv [ech + 1] (éischt Element méi grouss wéi eng zweet), duerno:

(Änneren Plazen Wäerter);

Enn

Natierlech, aggravates dëst einfach nëmmen d'Situatioun: de der Algorithmus einfach, et der méi zeechent all d'Komiker. Investment Verhältnis vun Zäit ass ze grouss nach fir eng kleng vill (hei kënnt zu Relativitéitstheorie: D'Zomm vun Zäit fir de Laie kleng schéngen kann, mä eigentlech eng Programméierer all zweet oder souguer Millisekonnepulsar zielt).

Et huet der besser Ëmsetzung. Zum Beispill, ausgebild Kont den Austausch vu Wäerter an vill Plazen:

Sortirovka_Puzirkom Prozedur;

Ufank

sortirovka = wouer;

Zyklus bis sortirovka richteg =;

sortirovka = falsch;

Zyklus fir ech aus nachalnii_index zu konechii_index-1;

wann massiv [i]> massiv [ech + 1] (éischt Element méi grouss wéi eng zweet), duerno:

(Elementer Plazen änneren);

sortirovka = wouer; (Identifizéiert datt den Austausch gemaach gouf).

Enn.

Aschränkungen

D'Haaptrei Nodeel - d'Dauer vum Prozess. Wéi vill Zäit erkléngt Zortéieren Algorithmus Bubble?

An Zäit ass aus der Zuel vun Feld, déi an der vill berechent - Enn Resultat dovunner ass proportional.

Wann de schlëmmste Fall der vill wéi oft den ass den huet et Elementer Minus ee Wäert. Dëst geschitt well an um Enn gëtt et nëmmen een Element, deen näischt musse vergläichen, an der lescht virum Goal de vill lo Schiermer Aktioun.

Zousätzlech, efficace Method vun engem einfachen realiséiert Zortéieren, wéi et nëmme fir flamenden Ofgrond vun kleng Gréisst genannt ass,. Grousse Quantitéiten vun Date mat der Hëllef vun Prozess wäert net schaffen: d'Resultat gëtt entweder en Fehler oder Echec vun de Programm ginn.

Dignitéit

Bubble Zort ass ganz einfach ze verstoen. Der Abezéiung vun technesch Héichschoulen an der Etude vun der Gestioun Elementer vu senge vill an der éischter Plaz virum. D'Method ass einfach souwuel de Delphi programméiere Sprooch (L (Delphi), an der C / C ++ (C / C plus plus), eng onheemlech einfach Wäerter vun Standuert Algorithmus an déi richteg Uerdnung an op der ze realiséieren Pascal (Pascal). Bubble Zort ass ideal fir Ufänger.

Wéinst den Nodeeler vun der Algorithmus ass an ausserschouleschen Zwecker net benotzt.

Visuell Zortéieren Prinzip

Der éischter Vue vun der vill 8 22 4 74 44 37 1 7

Schrëtt 8 22 4 1 74 44 37 1 7

8 22 4 74 44 1 37 7

8 22 4 74 1 44 37 7

8 22 4 1 74 44 37 7

8 22 1 4 74 44 37 7

8 1 22 4 74 44 37 7

1 8 22 4 74 44 37 7

Schrëtt 2 1 8 22 4 74 44 7 37

1 8 22 4 74 7 44 37

1 8 22 4 7 74 44 37

1 8 22 4 7 74 44 37

1 8 4 22 7 74 44 37

1 4 8 22 7 74 44 37

Schrëtt 3 1 4 8 22 7 74 37 44

1 4 8 22 7 37 74 44

1 4 8 22 7 37 74 44

1 4 8 7 22 37 74 44

1 4 7 8 22 37 74 44

Schrëtt 1 4 7 4 8 22 37 44 74

1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

Schrëtt 1 4 7 5 8 22 37 44 74

1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

Schrëtt 1 4 7 6 8 22 37 44 74

1 4 7 8 22 37 44 74

Schrëtt 1 4 7 7 8 22 37 44 74

Bubble Zort Beispill an Pascal

Beispill:

const kol_mas = 10;

VAR massiv: vill [1..kol_mas] vun ganz;

engem, b, K: ganz;

fänken

writeln ( 'Input', kol_mas, "Elementer vun vill ');

fir eng: = 1 bis kol_mas readln maachen (massiv [e ]);

fir eng: = 1 bis kol_mas-1 do fänken

fir b: = e + 1 bis kol_mas fänken do

wann massiv [e]> massiv [ b] dann fänken

K: = massiv [e]; massiv [e]: = massiv [ b]; massiv [b]: = K;

Enn;

Enn;

Enn;

writeln ( "no Zort ');

fir eng: = 1 bis kol_mas do writeln (massiv [e ]);

Enn.

BEISPILL Bubble zu C Sprooch zortéieren (C)

Beispill:

#include

#include

INT Haaptrei (INT argc, QRegExp * argv [])

{

massiv INT [8] = {36, 697, 73, 82, 68, 12, 183, 88}, ech, ff;

fir (;;) {

ff = 0;

fir (ech = 7; ech> 0; ech -) {

wann (massiv [i] [Dat soen 1]) {

kënnen (massiv [i], massiv [Dat soen 1]);

ff ++;

}

}

wann (ff == 0) Paus;

}

getch (); // Haaptsäit Retard

Retour 0;

}.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 lb.birmiss.com. Theme powered by WordPress.