[ 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 | 10
NapísalOffline : 07.10.2011 8:43 | bubble sort

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 | 96
Bydlisko: Bratislava,...
NapísalOffline : 07.10.2011 11:24 | bubble sort

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)
 [ Príspevkov: 2 ] 


bubble sort



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

660

13.10.2006 9:13

JanoF

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

*Strand sort v Ccku*

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

5

769

27.03.2008 21:52

juho

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

429

19.09.2011 23:44

KViki

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

636

13.03.2007 10:21

JanoF



© 2005 - 2025 PCforum, edited by JanoF