Шаг 0. Разделение массива между
процессами |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
3 5 |
9 1 |
0 1 |
6 3 |
Шаг 1. После внутренней сортировки
qsort’ом |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
3 5 |
1 9 |
0 1 |
3 6 |
Шаг 1.1. Нечётная перестановка. Обмен
данными |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
3 5 → |
← 1 9 |
0 1 → |
← 3 6 |
Шаг 1.2. Нечётная перестановка. После
обмена данными |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
1 9 3 5 |
3 5 1 9 |
3 6 0 1 |
0 1 3 6 |
Шаг 1.3. Нечётная перестановка. После
внутренней сортировки qsort’ом |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
1 3 | 5 9 |
1 3 | 5 9 |
0 1 | 3 6 |
0 1 | 3 6 |
Шаг 1.4. Нечётная перестановка. После
разбиения |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
1 3 |
5 9 |
0 1 |
3 6 |
Шаг 2.1. Чётная перестановка. Обмен
данными |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
1 3 |
5 9 → |
← 0 1 |
3 6 |
Шаг 2.2. Чётная перестановка. После
обмена данными |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
1 3 |
0 1 5 9 |
5 9 0 1 |
3 6 |
Шаг 2.3. Чётная перестановка. После
внутренней сортировки qsort’ом |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
1 3 |
0 1 | 5 9 |
0 1 | 5 9 |
3 6 |
Шаг 2.4. Чётная перестановка. После
разбиения |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
1 3 |
0 1 |
5 9 |
3 6 |
Шаг 3.1. Нечётная перестановка. Обмен
данными |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
1 3 → |
← 0 1 |
5 9 → |
← 3 6 |
Шаг 3.2. Нечётная перестановка. После
обмена данными |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
0 1 1 3 |
1 3 0 1 |
3 6 5 9 |
3 6 5 9 |
Шаг 3.3. Нечётная перестановка. После
внутренней сортировки qsort’ом |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
0 1 | 1 3 |
0 1 | 1 3 |
3 5 | 6 9 |
3 5 | 6 9 |
Шаг 3.4. Нечётная перестановка. После
разбиения |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
0 1 |
1 3 |
3 5 |
6 9 |
Массив отсортирован! |
Процесс №1 |
Процесс №2 |
Процесс №3 |
Процесс №4 |
0 1 |
1 3 |
3 5 |
6 9 |