Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. void wys(vector<int>tab)
  8. {
  9.     for (int i = 0; i < tab.size(); i++)
  10.     {
  11.         cout << tab[i] << ", ";
  12.     }
  13.     cout << endl;
  14. }
  15.  
  16.  
  17. void scalanie(vector<int>&lewa, vector<int>&prawa, vector<int>&tab)
  18. {
  19.     int nL = lewa.size();
  20.     int nR = prawa.size();
  21.     int i = 0, j = 0, k = 0;
  22.  
  23.     while (j < nL && k < nR)
  24.     {
  25.         if (lewa[j] < prawa[k])
  26.         {
  27.             tab[i] = lewa[j];
  28.             j++;
  29.         }
  30.         else
  31.         {
  32.             tab[i] = prawa[k];
  33.             k++;
  34.         }
  35.         i++;
  36.     }
  37.     while (j < nL)
  38.     {
  39.         tab[i] = lewa[j];
  40.         j++; i++;
  41.     }
  42.     while (k < nR)
  43.     {
  44.         tab[i] = prawa[k];
  45.         k++; i++;
  46.     }
  47. }
  48.  
  49. void sort(vector<int>&tab)
  50. {
  51.     if (tab.size() <= 1) return;
  52.  
  53.     int sr = tab.size() / 2;
  54.     vector<int>lewa;
  55.     vector<int>prawa;
  56.  
  57.     for (int i = 0; i < sr; i++)
  58.     {
  59.         lewa.push_back(tab[i]);
  60.         //cout << lewa[i] << ", ";
  61.     }
  62.     //cout <<"  ";
  63.     for (int i = 0; i < tab.size() - sr; i++)
  64.     {
  65.         prawa.push_back(tab[sr + i]);
  66.         //cout  << prawa[i] << ", ";
  67.     }
  68.     //cout << "  ";
  69.     sort(lewa);
  70.     sort(prawa);
  71.     //cout << endl;
  72.     scalanie(lewa, prawa, tab);
  73.      
  74. }
  75. int main()
  76. {
  77.     vector<int>tab;
  78.     for (int i = 0; i < 1000000; i++)
  79.     {
  80.         tab.push_back(rand() % 100);
  81.         //cout << tab[i] << endl;
  82.     }
  83.      
  84.  
  85.     sort(tab);
  86.     //wys(tab);
  87.     cout << "Koniec";
  88.     system("pause");
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement