Упражнения на C ++: перестановка заданного отсортированного массива натуральных чисел
C ++ Array: Упражнение 15 с решением
Напишите программу на C ++ для перестановки заданного отсортированного массива натуральных чисел.
Примечание. В конечном массиве первый элемент должен иметь максимальное значение, второе минимальное значение, третье второе максимальное значение, четвертое второе минимальное значение, пятое третье максимальное значение и т. Д.
Пример решения:
Код C ++:
#include <bits/stdc++.h>
using namespace std;
void rearrange_max_min(int nums[], int n)
{
int temp[n];
int small_num=0, large_num=n-1;
int result = true;
for (int i=0; i<n; i++)
{
if (result)
temp[i] = nums[large_num--];
else
temp[i] = nums[small_num++];
result = !result;
}
for (int i=0; i<n; i++)
nums[i] = temp[i];
}
int main()
{
int nums[] = {0, 1, 3, 4, 5, 6, 7, 8, 10};
int n = sizeof(nums)/sizeof(nums[0]);
cout << "Original array: ";
for (int i=0; i < n; i++)
cout << nums[i] <<" ";
rearrange_max_min(nums, n);
printf("\nArray elements after rearranging: ");
for (int i=0; i < n; i++)
cout << nums[i] <<" ";
return 0;
}
Пример вывода:
Исходный массив: 0 1 3 4 5 6 7 8 10 Элементы массива после перестановки: 10 0 8 1 7 3 6 4 5
Блок - схема:
Редактор кода C ++:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на C ++, чтобы отделить 0 и 1 от заданного массива значений 0 и 1.
Далее: Напишите программу на C ++ для сортировки заданного массива 0, 1 и 2. В последнем массиве сначала поместите все 0, а затем все 1 и 2.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования