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 przez wymianę/wybór (selectionsort) - Implementacja w C/C++
Ocena użytkownikóww: *****  / 13
SłabyŚwietny
Nadesłany przez Marian, 19 lutego 2011 12:20
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.

select_1_c.cpp:
// sortowanie przez wymianę/wybór (selectionsort)
// www.algorytm.org

#include<iostream>
using namespace std;

int main()
{
	int ilosc_liczb, max, i,j, pomoc;
	cout << "Podaj ilosc licz do posortowania: ";
	cin >> ilosc_liczb;
	int *tablica = new int [ilosc_liczb]; // utworzenie dynamicznej tablicy na 'ilosc_liczb' elementow

	for (i = 0; i < ilosc_liczb; i++)
	{
		cout << "Podaj liczba: ";
		cin >> tablica[i];
	}

	for (i = 0; i < ilosc_liczb; i++) // zaczynamy od pierwszego elementu i konczymy na ostatnim
	{
		max = i; // indeks najmniejszego znalezionego elementu
		for (j = i+1; j < ilosc_liczb; j++) // poszukujemy najmniejszego elementu poczawszy od i
		{
			if (tablica[j] < tablica[max]) // jezeli znalezlismy mniejszy element zapisujemy jego indeks w max
				max = j;
		}
		// wstawiamy najmniejszy element na odpowiednie miejsce
		pomoc = tablica[max]; 
		tablica[max] = tablica[i];
		tablica[i] = pomoc;
	}

	for (i = 0; i < ilosc_liczb; i++) // wypisanie posortowanej tablicy
		cout << "tablica[" << i << "] = " << tablica[i] << endl;

	delete [] tablica; // zwolnienie tablicy zaalokowanej dynamicznie

    return 0;
}
Komentarze
photo
+1 # Szymon++ 2015-12-16 21:22
Dlaczego indeks najmniejszego to max?
Ja bym raczej zapisał w min.
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz