Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 2 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.09.11
Prihlásený: 27.05.14
Príspevky: 16
Témy: 10
Príspevok NapísalOffline : 07.10.2011 8:43

ako zastavim bubble sort aby sa už napr 10 krat nebublal ked už je to správne usporiadané v 9
Citácia:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROZMER 10

void vypis_pole(short int cykl, unsigned int pole[])
{
unsigned short int i;
printf("Prvky pole (%2i):\n", cykl);

/* schvalne, co by se stalo, kdyby byl ROZMER lichy ? */
for (i = 0; i < ROZMER / 2; i++)
printf("%2u: %u\t\t%2u: %u\n", i + 1, pole[i], i + ROZMER / 2 + 1,
pole[i + ROZMER / 2]);
/* spravna odpoved zni .... chvilka napeti ...
* posledni prvek z pole by se nevypsal. */
}

int main(void)
{
unsigned int cykl, bublani;
unsigned int pole[ROZMER], pom;

/* nejdrive inicializujeme pole nahodnymi hodnotami a vypiseme jej */
srand((unsigned int) time(NULL));

for (cykl = 0; cykl < ROZMER; cykl++)
pole[cykl] = (rand() % 100) + 1;

printf("Inicializace: \n");
vypis_pole(-1, pole);

/* ted pole setridime algoritmem bubble sort */

for (cykl = 1; cykl < ROZMER; cykl++) {
for (bublani = ROZMER - 1; bublani >= cykl; bublani--) {
printf(".");
if (pole[bublani - 1] > pole[bublani]) {
/* mensi cislo probubla o jeden prvek smerem k zacatku */
pom = pole[bublani - 1];
pole[bublani - 1] = pole[bublani];
pole[bublani] = pom;
}
}
/* vypiseme mezivysledek, kde "cykl" nejmensich cisel
* uz mame zarucene na zacatku pole */
printf("\n");
vypis_pole(cykl, pole);
}

return 0;
}



Offline

Užívateľ
Užívateľ
bubble sort

Registrovaný: 27.12.08
Prihlásený: 13.12.22
Príspevky: 1874
Témy: 96
Bydlisko: Bratislava,...
Príspevok NapísalOffline : 07.10.2011 11:24

for (cykl = 1; cykl < ROZMER-1; cykl++)
ako hovoríš..cykl najmenších čísel už máš zaručene na začiatku poľa.. to znamená, že pokiaľ v 10 prvkovom poli máš 9 najmenších čísel zaručene na začiatku poľa, to 10te bude najväčšie :)

ale pri veľkých poliach ti to beh programu nezrýchli takmer vôbec preto odporúčam popozerať sa po iných typoch triedenia.. :)







_________________
~Listen to your brain, not your heart~
NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot)
NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI)
Odpovedať na tému [ Príspevkov: 2 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Sort Topics Alphabetically

v Redakčné systémy

0

626

13.10.2006 9:13

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. *Strand sort v Ccku*

v Assembler, C, C++, Pascal, Java

5

728

27.03.2008 21:52

juho Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Joomla: pridat sort podla uzivatela do komponentu

v Redakčné systémy

0

401

19.09.2011 23:44

KViki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nové příspěvky odshora - posts sort newest first

v Redakčné systémy

7

568

13.03.2007 10:21

JanoF Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra