Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.07 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int* sortuj(int *tab1, int *tab2, int size1, int size2)
  6. {
  7.     int *tab = new int[size1 + size2];
  8.    
  9.     int k = 0;
  10.     int j = 0;
  11.     int i = 0;
  12.  
  13.     while (i<size1 && j<size2)
  14.     {
  15.         if (tab1[i] < tab2[j])
  16.         {
  17.             tab[k] = tab1[i];
  18.             ++i;
  19.         }
  20.         else
  21.         {
  22.             tab[k] = tab2[j];
  23.             ++j;
  24.         }
  25.         k++;
  26.     }
  27.     if (i < size1)
  28.     {
  29.         while (k < size1 + size2)
  30.         {
  31.             tab[k] = tab1[i];
  32.             ++k;
  33.             ++i;
  34.         }
  35.     }
  36.     else
  37.     {
  38.         while (k < size1 + size2)
  39.         {
  40.             tab[k] = tab2[j];
  41.             ++k;
  42.             ++j;
  43.         }
  44.     }
  45.     return tab;
  46. }
  47. void swap(int &a, int &b)
  48. {
  49.     int tmp = a;
  50.     a = b;
  51.     b = tmp;
  52. }
  53. int partition(int *tab, int size)
  54. {
  55.     int pivot = tab[size - 1];
  56.     int i = -1;
  57.     int j = 0;
  58.  
  59.     while (j < size-1)
  60.     {
  61.         if (tab[j] <= pivot)
  62.         {
  63.             ++i;
  64.             swap(tab[j], tab[i]);
  65.         }
  66.         ++j;
  67.     }
  68.     swap(tab[++i], tab[size - 1]);
  69.     return i;
  70.  
  71. }
  72.  
  73. int main()
  74. {
  75.     int tab1[3] = { 5,8,10 };
  76.     int tab2[10] = { 2,9,10,12,6,14,2,6,9,10 };
  77.     int *tab = nullptr;
  78.  
  79.     //tab = sortuj(tab1, tab2, 3, 4);
  80.     int i = partition(tab2, 10);
  81.  
  82.     system("pause");
  83.     return 0;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement