У меня есть отсортированный массив в порядке возрастания. Я должен построить новый массив таким образом, что последний элемент отсортированного массива будет первым элементом нового массива, а первым элементом отсортированного массива будет следующий элемент нового массива и так далее. Для ПРИМЕР-Переупорядочить отсортированный массив
//if a[] is the sorted array.
a[]={1,2,3,4,5}
//output-
//b[] is the new array.
b[]={5,1,4,2,3}
Мой подход Использование это- два индекса i
и j
.
for (int i = 0, j = 0; j< count; i++, j++)
{
b[j] = a[count - (i + 1)];
b[++j] = a[i];
}
Теперь вопрос в том, как это сделать, используя только один индекс, используя только то есть индекс i
из моего примера.
Заранее благодарен!
Это, вероятно, лучше подходит для http://codegolf.stackexchange.com/. –
Основываясь на вашем описании, кажется, что 'b' должен содержать' {5, 1, 2, 3, 4} '. Если это неверно, можете ли вы объяснить, как создается массив? –
@ DietmarKühl: это двусмысленное объяснение (которое я сначала интерпретировал так, как вы), но, похоже, идея состоит в том, чтобы принимать значения из чередующихся концов ввода. –