Bubble sort - upravena metoda – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Bubble sort - upravena metoda – Pascal – Fórum – Programujte.comBubble sort - upravena metoda – Pascal – Fórum – Programujte.com

 

Pasc
~ Anonymní uživatel
1 příspěvek
19. 5. 2016   #1
-
0
-

Ahoj,berieme na informatike Bubble sort ,chápem ako funguje aj implementácií,kedy ide vonkajsi cyklus dlzkaPola-1 a zaroven aj vnutorny cyklus ide po dlzkaPola-1 .Teraz vsak mam implementaciu,kedy ide vnutorny cyklus iba po dlzkaPola-i kde i je riadaca premenna vonkajsieho cyklu.Z akého dovodu to fuguje aj takto,v čom spočíva ta logika? Ďakujem
 

program sa;
uses crt;
var pole:array [1..10] of integer;
    i,j:integer;
    temp:integer;

begin
clrscr;
randomize;
for i:=1 to 10 do pole[i]:=random(50);
writeln('Tvoje pole je ');
for i:=1 to 10 do write (pole[i],' ');


for i:=1 to 9 do begin
    for j:=1 to 10-i do begin
        if pole[j]<pole[j+1] then begin

              temp:=pole[j];
              pole[j]:=pole[j+1];
              pole[j+1]:=temp;
        end;
   end;
end;

writeln;
writeln('Zotriedene pole');
for i:=1 to 10 do write(pole[i],' ');


 readln;
 end.
Nahlásit jako SPAM
IP: 95.102.10.–
KIIV
~ Moderátor
+43
God of flame
19. 5. 2016   #2
-
0
-

Logika je v tom, ze v prvnim kole na posledni pozici probubla nejmensi hodnota, neni pak potreba ji v dalsim kole kontrolovat. A tak to pokracuje dal..

Dalsi vylepseni je pak prestat, kdyz se nic neprohodilo

Nahlásit jako SPAM
IP: 212.47.3.–
Program vždy dělá to co naprogramujete, ne to co chcete...
peter
~ Anonymní uživatel
3981 příspěvků
20. 5. 2016   #3
-
0
-

Mas 6 (n) cisel: 6 5 4 3 2 1

Prvni cyklus pro serazeni ma 1 az (n-1), cili 1..5, protoze porovnavas cisla a[n] a b [n+1]. Kdyby tam bylo od 1 do 6, tak cislo b by ti vyslo 7, ale v poli nemas sedme cislo.
Ten cyklus porovnava tedy
a > b
6 > 5 ? ano, vymeni, 5 6 4 3 2 1
6 > 4 ? ... 5 4 6 3 2 1
6 > 3 ? ... 5 4 3 6 2 1
6 > 2 ? ... 5 4 3 2 6 1
6 > 1 ? ... 5 4 3 2 1 6
6 se dostane tim cyklem na konec a jiz byla porovnana se vsemi cily a neni nutne ji uz s zadnym porovnavat.. Takze dalsi cyklus uz muze jit jen mezi cisly 5 4 3 2 1, coz je 5 cislel, 4 cykly.

Nejlepsi algoritmy funguji tak, ze porovnavaji jen, co je treba.
8 7 6 5 4 3 2 1
a b c d E F G H
a > b ... b a x x
c > d ... x x d c
b > d ... d x b x
d bylo nejmensi a uz ho neporovnavaji s a, protoze to neni treba
Podobne s E F G H, H E F G
Nejmensi cisla jsou d a H, porovnaji se mezi sebou a H se uz neporovnava s abc. Ale d bude treba porovnat se zbyvajicimi EFG.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:a41d:a7...–
peter
~ Anonymní uživatel
3981 příspěvků
20. 5. 2016   #4
-
0
-

"Dalsi vylepseni je pak prestat, kdyz se nic neprohodilo"
On to myslel tak, ze prestat, kdyz probehne cely cyklus a nic se nevymeni. Aby zbytecne neprobihal nadrazeny cyklus

Nahlásit jako SPAM
IP: 2001:718:2601:26c:a41d:a7...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

Podobná vlákna

Bubble sort — založil Anonymní uživatel

řazení jako v bubble sort — založil Noneus

Náhodné čísla a Bubble Sort — založil Supersonic

Metoda Arrays.sort — založil Dagi

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý