C/C++
Сортировка массивов на С++
Массив B включает 15 целых чисел из интервала [-15, 15]. Отсортировать полученный массив шейкерной сортировкой. Определить, сколько раз встречалось каждое число из интервала.
На всякий случай с отдельной функцией. Элементы массива задаются генератором (псевдо)случайных чисел:
#include
#include
#include
using namespace std;
void shaker(int X [], int size)
{
int left = 0, right = size - 1, yes = 1;
while ((left < right) && yes > 0)
{
yes = 0;
for (int i = left; i X[i + 1])
{ swap(X[i], X[i + 1]); yes = 1; }
right--;
for (int i = right; i>left; i--)
if (X[i - 1] > X[i])
{ swap(X[i], X[i - 1]); yes = 1; }
left++;
}
}
int main()
{
int a, b, i, n = 15, A[15];
srand(time(nullptr));
for (i = 0; i < n; i++)
{
A[i] = rand() % 31 - 15;
cout
#include
using namespace std;
void cocktailSort(int arr[], int n) {
bool swapped = true;
int start = 0;
int end = n - 1;
while (swapped) {
swapped = false;
for (int i = start; i < end; ++i) {
if (arr[i] > arr[i + 1]) {
swap(arr[i], arr[i + 1]);
swapped = true;
}
}
if (!swapped) break;
swapped = false;
--end;
for (int i = end - 1; i >= start; --i) {
if (arr[i] > arr[i + 1]) {
swap(arr[i], arr[i + 1]);
swapped = true;
}
}
++start;
}
}
int main() {
int B[] = {1, -4, 7, 5, -11, -8, 0, 15, -12, 2, -5, 14, -1, -7, 13};
int C[31] = {0}; // массив для подсчета чисел
const int n = 15;
cocktailSort(B, n);
for (int i = 0; i < 15; ++i) {
++C[B[i] + 15]; // увеличиваем соответствующий элемент массива на 1
}
for (int i = 0; i < 31; ++i) {
if (C[i] > 0) {
cout
Похожие вопросы
- Проблемы с сортировкой массива методом пузырька.
- Выполните сортировку массивов ТРЕМЯ СПОСОБАМИ: методом пузырька, прямого поиска и быстрой сортировкой. С++
- Выполните сортировку массивов ТРЕМЯ СПОСОБАМИ: методом пузырька, прямого поиска и быстрой сортировкой. С++
- Измерение времени на си. Почему-то скорость сортировки массива выводится со второго раза.. И еще надо измерить память
- КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО СОРТИРОВКЕ МАССИВОВ
- С++ Сортировка массива
- Как сделать сортировку массива по убыванию, сохранив индексы на языке C
- Одномерные массивы. Сортировка
- Сортировка элементов массива методом Шелла
- Язык Си. Сортировка и поиск элементв массива