Сделать программу, которая будет сортировать массив алгоритмом быстрой сортировки.
Если не сложно можно с объяснением.
C/C++
Помогите пожалуйста, с++
#include <algorithm> // это заголовочный файл стандартных алгоритмов
#include <iostream> // это заголовочный файл стандартного ввода-вывода в консоль
using namespace std; // это пространство имён стандартной библиотеки
int main() { // это главная функция, точка входа в программу
int box[] = { 7, 6, 0, 1, 8, 9, 6, 4, 3, 5 }; // это массив
for (const auto x : box) cout << x << ' '; // это вывод массива до сортировки
puts(""); // это перевод на другую строку
sort(begin(box), end(box)); // это быстрая сортировка массива
for (const auto x : box) cout << x << ' '; // это вывод отсортированного массива
puts(""); // это перевод на другую строку
cin.get(); // это не даёт консоли закрыться
}
#include <iostream> // это заголовочный файл стандартного ввода-вывода в консоль
using namespace std; // это пространство имён стандартной библиотеки
int main() { // это главная функция, точка входа в программу
int box[] = { 7, 6, 0, 1, 8, 9, 6, 4, 3, 5 }; // это массив
for (const auto x : box) cout << x << ' '; // это вывод массива до сортировки
puts(""); // это перевод на другую строку
sort(begin(box), end(box)); // это быстрая сортировка массива
for (const auto x : box) cout << x << ' '; // это вывод отсортированного массива
puts(""); // это перевод на другую строку
cin.get(); // это не даёт консоли закрыться
}
Или с использованием algorithm:
#include "iostream"
#include "algorithm"
int main(){
int a[]={-2,99,0,-74,2,42,4};
std::sort(a,a+sizeof a / sizeof *a);
for(int i:a)std::cout<<i<< ' ';}
#include "iostream"
#include "algorithm"
int main(){
int a[]={-2,99,0,-74,2,42,4};
std::sort(a,a+sizeof a / sizeof *a);
for(int i:a)std::cout<<i<< ' ';}
☝Алгоритмы сортировки массивов (в том числе и быстрой сортировки) с подробным объяснением и примерами кода на С++ есть в Сети !
А здесь это всё зачем ?
А здесь это всё зачем ?
#include < iostream >
#include < cstdlib >
using namespace std;
int main(int argc, char ** argv) {
int a[] = {-2, 99, 0, -743, 2, 42, 4}; // Массив
qsort(a, sizeof a / sizeof *a, sizeof *a, [](const void* a, const void* b) {return *(int*)a - *(int*)b; }); // Сортируем квиксортом
for (int ai : a) cout << ai << ' '; // Выводим отсортированный
return 0;
}
#include < cstdlib >
using namespace std;
int main(int argc, char ** argv) {
int a[] = {-2, 99, 0, -743, 2, 42, 4}; // Массив
qsort(a, sizeof a / sizeof *a, sizeof *a, [](const void* a, const void* b) {return *(int*)a - *(int*)b; }); // Сортируем квиксортом
for (int ai : a) cout << ai << ' '; // Выводим отсортированный
return 0;
}
Мы программисты гордые. 100 рублей код. 200 рот
Похожие вопросы
- Помоги пожалуйста с программой в С++
- Помогите пожалуйста написать программу на Си
- Помогите пожалуйста уже голову сломал, ничего не получается, когда перегружаю шаблонный оператор << ,
- Помогите пожалуйста написать код.(C++)
- Задачки по С++ (помогите пожалуйста кто какие сможет)
- Помогите пожалуйста с программой
- Помогите пожалуйста с C++
- Помогите пожалуйста решить задачу на языке С#.
- Помогите пожалуйста составить задачу на программе С++
- Помогите, пожалуйста решить на C++, используя многомерные статические массивы
srand(time(NULL)); for (int I=0; l<1000000; l++) a[l]=rand()%10000001-5000000;
Сортировка пузырьком с миллионами элементов массива очень плохо справляется, поскольку для этого совсем не предназначена, поэтому quick sorting сразу можно будет отличить от менее эффективных методов.