sortowanie


#include <iostream>

using namespace std;

/*    Deklaracje funkcji    */
void zamien(int *, int *);
void quickSort(int *, int, int);

int main()
{
  const int ile=7; //liczba elementow ktore bedziemy sortowac
  int element[ile]; // tablica elementow do posortowania
 
  cout <<"Wczytywanie danych...\n\n";
  for (unsigned int i=0;i<ile;++i)
  {
     cout <<"Podaj "<<i+1<<" element: ";
     cin >>element[i];
     cin.ignore();
  }
 
  cout <<"\nElementy przed posortowaniem:\n\n";
  for (unsigned int i=0;i<ile;++i)
     cout <<element[i]<<' ';
  cout <<"\n\n";
 
  quickSort(element, 0, ile-1); //uruchomienie funkcji sortujacej
 
  cout <<"Elementy posortowane:\n\n";
  for (unsigned int i=0;i<ile;i++)
     cout <<element[i]<<' ';
  cout <<"\n\n";
 
  cout <<"Nacisnij ENTER aby zakonczyc\n";
  getchar();
  return 0;      
}


/*
Funkcja zamienia wartosci dwoch elementow. Mozna zastapic ja standardowa funkcja swap (z przestrzeni std) - zmieni sie tylko wywolanie funkcji
*/
void zamien(int *a, int *b)
{
  int temp=*a;
  *a=*b;
  *b=temp;
}  

/*
Funkcja realizujaca algorytm sortowania szybkiego. Przyjmuje jako argumenty wskaznik do tablicy elementow, indeks pierwszego elementu uznawanego za nalezacy do tablicy oraz indeks ostatniego elementu uznawanego za nalezacy do tablicy.
*/
void quickSort(int *tab, int lewo, int prawo)
{
  if (lewo<prawo)
  {
     int k=lewo, p=tab[lewo];
     for (unsigned int i=lewo+1;i<=prawo;++i)
        if (tab[i]<=p)
        {
           ++k;
           zamien(&tab[i], &tab[k]);  // lub swap (tab[i], tab[k]);
        }
     zamien(&tab[lewo], &tab[k]);  //  lub swap (tab[lewo], tab[k]);
     quickSort(tab, lewo, k-1);    //wywolanie dle lewej podtablicy
     quickSort(tab, k+1, prawo);  // wywolanie dla prawej podtablicy
       
  }
}



Wyszukiwarka

Podobne podstrony:
4 sortowanie
Sortowanie cz 2 ppt
Sortowanie listów
algorytmy sortowanie
5 sortowanie log
4 Sterowanie sortowaniem RSS 2013
Ściaga sortowania, algorytmy i struktury danych
Sortowanie kilku kolumn jednocześnie, excel
3 Wyklad Sortowanie
linia sortownicza A1
5 Grupowanie i sortowanie
sortowanie, BHP
Sprawozdanie sortowania
Sortowanie bąbelkowe
Programowanie Sortowanie
Sortowanie?nych w tabeli przestawnej
Sortowania
el.cw4 - Obwody trójfazowe2, Politechnika Lubelska, Studia, Studia, Elektrotechnika - laboratorium,
sortowanie przez zliczanie

więcej podobnych podstron