algorytm.org

Implementacja w C/C++



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 bąbelkowe (bubblesort) - Implementacja w C/C++
Ocena użytkownikóww: *****  / 7
SłabyŚwietny
Nadesłany przez mariano, 22 marca 2011 02:34
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.

bubble_3_c.cpp:
// Autor: Marian Węglarz
// www.algorytm.org
// Sortowanie bąbelkowe (bubblesort)

#include <stdio.h>
#include <conio.h>

void BubbleSort(int *pTab, unsigned int uiTabSize);
void DisplayIntTab(int *pTab, unsigned int uiTabSize);

int main()
{
	int cTab[]={12,11,9,7,8,6,5,4,3,2,1};
    	unsigned int uiTabSize=(sizeof(cTab)/sizeof(int));

	printf("Before BubbleSort: ");
	DisplayIntTab(cTab, uiTabSize);
	  	
    	BubbleSort(cTab, uiTabSize);
    	
    	printf("After BubbleSort: ");
	DisplayIntTab(cTab, uiTabSize);
    	
	printf("Press any key to continue...\n");
    	getche();
	return 0;
}

void BubbleSort(int *pTab, unsigned int uiTabSize) {
	
	int iChangeNr;	
	for(unsigned int uiNrCtr=(uiTabSize-1); uiNrCtr>0; uiNrCtr--) {
		if( pTab[uiNrCtr]<pTab[uiNrCtr-1] ) {
			iChangeNr=pTab[uiNrCtr];
			pTab[uiNrCtr]=pTab[uiNrCtr-1];
			pTab[uiNrCtr-1]=iChangeNr;
			uiNrCtr=uiTabSize;
		}
	}
}
void DisplayIntTab(int *pTab, unsigned int uiTabSize) {
	
    	for(unsigned int uiNrCtr=0; uiNrCtr<uiTabSize; uiNrCtr++) {
		printf("%i ",pTab[uiNrCtr]);
	}
	printf("\n");		
}
Komentarze
photo
+2 # Informatyk 2012-03-01 13:50
Nie potrzebnie dodana dodatkowa złożoność obliczeniowa, bo algorytm sprawdza już posortowane pary.
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz