Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int* sortuj(int *tab1, int *tab2, int size1, int size2)
- {
- int *tab = new int[size1 + size2];
- int k = 0;
- int j = 0;
- int i = 0;
- while (i<size1 && j<size2)
- {
- if (tab1[i] < tab2[j])
- {
- tab[k] = tab1[i];
- ++i;
- }
- else
- {
- tab[k] = tab2[j];
- ++j;
- }
- k++;
- }
- if (i < size1)
- {
- while (k < size1 + size2)
- {
- tab[k] = tab1[i];
- ++k;
- ++i;
- }
- }
- else
- {
- while (k < size1 + size2)
- {
- tab[k] = tab2[j];
- ++k;
- ++j;
- }
- }
- return tab;
- }
- void swap(int &a, int &b)
- {
- int tmp = a;
- a = b;
- b = tmp;
- }
- int partition(int *tab, int size)
- {
- int pivot = tab[size - 1];
- int i = -1;
- int j = 0;
- while (j < size-1)
- {
- if (tab[j] <= pivot)
- {
- ++i;
- swap(tab[j], tab[i]);
- }
- ++j;
- }
- swap(tab[++i], tab[size - 1]);
- return i;
- }
- int main()
- {
- int tab1[3] = { 5,8,10 };
- int tab2[10] = { 2,9,10,12,6,14,2,6,9,10 };
- int *tab = nullptr;
- //tab = sortuj(tab1, tab2, 3, 4);
- int i = partition(tab2, 10);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement