#include using namespace std; inline void swap(int &a, int &b) { int t ; t=a; a=b; b=t; } void wybieranie(int tab[], int rozmiar){ int temp; int max; for(int i=1;itab[j]) max=j; if(max!=i) swap(tab[i],tab[max]) ; }; }; void wstawianie(int a[], int rozmiar) { int t, j ; for(int i = 1; i < rozmiar - 1; i++) { t = i; for (j = i + 1; j < rozmiar; j++) if (a[j] < a[t]) t = j; swap(a[t],a[i]); } } void babelki(int a[], int rozmiar) { int temp ; for(int i=1;i a[j]) swap(a[i],a[j]); } }; void quicksort(int a[], int lewe, int prawe) { int lewy_start=lewe; int prawy_start=prawe ; int piwot = a[lewe] ; while (lewe < prawe) { while ((a[prawe] >= piwot) && (lewe < prawe)) prawe--; if (lewe != prawe) { swap(a[lewe],a[prawe]); lewe++; } while ((a[lewe] <= piwot) && (lewe < prawe)) lewe++; if (lewe != prawe) { swap(a[lewe],a[prawe]); prawe--; } } a[lewe] = piwot; piwot = lewe; lewe = lewy_start; prawe = prawy_start; if (lewe < piwot) quicksort(a, lewe, piwot-1); if (prawe > piwot) quicksort(a , piwot+1, prawe); } ; void kopcowanie(int d[], int N) { int i, j,m,k,x; for(i = 2; i <= N; i++) { j = i; k = j / 2; x = d[i]; while((k > 0) && (d[k] < x)) { d[j] = d[k]; j = k; k = j / 2; } d[j] = x; } // Rozbieramy kopiec for(i = N; i > 0; i--) { swap(d[1], d[i]); j = 1; k = 2; while(k < i) { if((k + 1 < i) && (d[k + 1] > d[k])) m = k + 1; else m = k; if(d[m] <= d[j]) break; swap(d[j], d[m]); j = m; k = j + j; } } } void wypisz(int t[],int rozmiar) { // system("cls"); cout << "\n\n\n\tTablica:\n\t\t" ; for(int i=1;i> dd ; switch(dd) { case 1: generuj(tablica,rozmiar); break; case 2: system("cls"); wypisz(tablica,rozmiar); system("Pause"); break; case 3: system("cls"); cout << "Przed: ";wypisz(tablica,rozmiar); wstawianie(tablica,rozmiar); cout << "Po: ";wypisz(tablica,rozmiar); system("Pause"); break; case 4: system("cls"); cout << "Przed: ";wypisz(tablica,rozmiar); wybieranie(tablica,rozmiar); cout << "Po: ";wypisz(tablica,rozmiar); system("Pause"); break; case 5: system("cls"); cout << "Przed: ";wypisz(tablica,rozmiar); babelki(tablica,rozmiar); cout << "Po: ";wypisz(tablica,rozmiar); system("Pause"); break; case 6: system("cls"); cout << "Przed: ";wypisz(tablica,rozmiar); kopcowanie(tablica,rozmiar-1); cout << "Po: ";wypisz(tablica,rozmiar); system("Pause"); break; case 7: system("cls"); cout << "Przed: ";wypisz(tablica,rozmiar); quicksort(tablica,1,rozmiar); cout << "Po: ";wypisz(tablica,rozmiar); system("Pause"); break; case 0: return 0 ; default: break; } } while(dd!=0); return 0 ; }