Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- int n;
- int rnp; // ilosc nieposortowanych
- void wyswietl(int t[], int r, int r2)
- {
- for (int i = 0; i < r2; i++)
- cout << t[i] << " ";
- if (r2 < r) cout << "| ";
- for (int i = r2; i < r; i++)
- cout << t[i] << " ";
- cout << endl;
- }
- ///////////////////////////////////
- void przywracanie_kopca(int t[], int k, int r)
- {
- int j; int wtemp = t[k - 1];
- while (k <= r / 2)
- {
- j = 2 * k;
- if (j<r && t[j - 1]<t[j]) j++;
- if (wtemp >= t[j - 1]) break;
- else
- {
- t[k - 1] = t[j - 1];
- k = j;
- }
- }
- t[k - 1] = wtemp;
- wyswietl(t, n, rnp);
- }
- ////////////////////////////////////////////////////////////////////
- void sort_kopcowanie(int t[], int r)
- {
- int wtemp;
- for (int k = r / 2;k>0;k--) przywracanie_kopca(t, k, r);
- cout << "odczepianie najwieszych elementow..." << endl;
- cout << "i przywracanie wlasnosci kopca dla pozostalych..." << endl;
- do
- {
- wtemp = t[0];
- rnp = r;
- t[0] = t[r - 1]; t[r - 1] = wtemp;
- r--;
- przywracanie_kopca(t, 1, r);
- } while (r>1);
- }
- //////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////
- int main()
- {
- int tab1[] = { 44,32,74,51,46,71,49,73,86,34 };
- int tab2[] = { 1,2,3,4,5,6,7,8,9,10 };
- int tab3[] = { 10,9,8,7,6,5,4,3,2,1 };
- sort_kopcowanie(tab1, 10);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement