C ++ Быстрая сортировка Упражнение: сортировка коллекции целых чисел с помощью быстрой сортировки
С ++ Сортировка: Упражнение 12 с решением
Напишите программу на C ++ для сортировки коллекции целых чисел с помощью быстрой сортировки.
Пример решения :
Код C ++:
#include <iostream>
void quick_Sort(int *nums, int low, int high)
{
int i = low;
int j = high;
int pivot = nums[(i + j) / 2];
int temp;
while (i <= j)
{
while (nums[i] < pivot)
i++;
while (nums[j] > pivot)
j--;
if (i <= j)
{
temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
i++;
j--;
}
}
if (j > low)
quick_Sort(nums, low, j);
if (i < high)
quick_Sort(nums, i, high);
}
int main()
{
int nums[] = {125, 0, 695, 3, -256, -5, 214, 44, 55};
int n = sizeof(nums)/sizeof(nums[0]);
std::cout << "Before Quick Sort:" << std::endl;
for (int i = 0; i < n; ++i)
std::cout << nums[i] <<(std::cout, " ");
quick_Sort(nums, 0, n);
std::cout << "\nAfter Quick Sort:" << std::endl;
for (int i = 0; i < n; ++i)
std::cout << nums[i] << (std::cout, " ");
return (0);
}
Пример вывода:
Перед быстрой сортировкой: 125 0 695 3 -256 -5 214 44 55 После быстрой сортировки: -256 -5 0 3 44 55 125 214 695
Блок - схема:
Редактор кода C ++:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на C ++ для сортировки коллекции целых чисел, используя сортировку Pancake.
Далее: Напишите программу на C ++ для сортировки коллекции целых чисел, используя сортировку Radix.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code