Упражнения на C ++: сортировка заданного несортированного массива целых чисел в форме волны
C ++ Array: Упражнение 9 с решением
Напишите программу на C ++ для сортировки заданного несортированного массива целых чисел в форме волны.
Примечание. Массив имеет волновую форму, когда массив [0]> = массив [1] <= массив [2]> = массив [3] <= массив [4]> =. , , ,
Пример решения:
Код C ++:
#include<iostream>
#include<algorithm>
using namespace std;
void swap_elements(int *a, int *b)
{
int t = *a;
*a = *b;
*b = t;
}
void array_wave(int nums[], int n)
{
sort(nums, nums+n);
for (int i=0; i<n-1; i += 2)
swap_elements(&nums[i], &nums[i+1]);
}
int main()
{
int nums[] = {4, 5, 9, 12, 9, 22, 45, 7};
int n = sizeof(nums)/sizeof(nums[0]);
cout << "Original array: ";
for (int i=0; i < n; i++)
cout << nums[i] <<" ";
array_wave(nums, n);
cout << "\nWave form of the said array: ";
for (int i=0; i<n; i++)
cout << nums[i] << " ";
return 0;
}
Пример вывода:
Исходный массив: 4 5 9 12 9 22 45 7 Форма волны указанного массива: 5 4 9 7 12 9 45 22
Блок - схема:
Редактор кода C ++:
Внесите свой код и комментарии через Disqus.
Previous: написать программу на C ++, чтобы найти следующий больший элемент каждого элемента данного массива целых чисел. Игнорируйте те элементы, которые не имеют большего элемента.
Далее: Напишите программу на C ++, чтобы найти наименьший элемент, отсутствующий в отсортированном массиве.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования