Нужен алгоритм для разбора списка с середины, чтоб выводил в порядке заданном числами в ячейках. Мой код не выводит оставшиеся ячейки. Благодарю Вас!
List<Integer> list = new ArrayList<>();
list.add(5);
list.add(3);
list.add(1);
list.add(2);
list.add(4);
list.add(6);
for (int i = 0; i <= list.size(); i++) {
int a = 0;
if (i % 2 == 0) {
a = list.get(list.size() / 2 - 1);
list.remove(list.size() / 2 - 1);
}
if (i % 2 != 0) {
a = list.get(list.size() / 2);
list.remove(list.size() / 2);
}
// if(i == list.size()-1){i--;i--;}
System.out.println(a);
}
Ответы (1 шт):
Автор решения: tym32167
→ Ссылка
Вот пример кода на C#, на java сами переведете - тут ничего сложного нет.
var list = new[] {6,4,2,1,3,5,7};
int midToStart = list.Length / 2 + list.Length % 2 - 1;
int midToEnd = list.Length / 2;
while(midToStart >= 0 && midToEnd <list.Length)
{
if (midToStart == midToEnd){
Console.WriteLine(list[midToEnd]);
}
else{
Console.WriteLine(list[midToStart]);
Console.WriteLine(list[midToEnd]);
}
midToStart--;
midToEnd++;
}