Сортировка выбором. Поясните момент

187
15 августа 2017, 12:13

За комментировал строки которые не могу понять, помогите разобраться. Спасибо.

for (int x = 0; x < arrOne.Length; x++) {
                int minVal = x;
                for (int j = x + 1; j < arrOne.Length; j++) if (arrOne[minVal] > arrOne[j]) minVal = j;
                int c = arrOne[minVal]; // ???????
                arrOne[minVal] = arrOne[x]; // меняю местами минимальный и очередной элемент массива
                arrOne[x] = c; // ???????

            }
Answer 1

Выбрали минимальный элемент и свопнули его с текущим через промежуточную переменную.

Операция = - это присваивание, а не обмен. Вот есть у тебя две коробки - в одной красный шарик, а в другой - синий. Но коробки не простые - ты можешь класть в другие места копии того, что в ни есть, но если ты кладёшь что-то в коробку, то то, что там лежало раньше исчезает. Ты хочешь и поменять местами. Если ты в коробку с красным положишь синий, то у тебя будет 2 коробки с синими, а красных нет. А если ты сначала положишь красный в третью коробку, то всё получится.

READ ALSO
ввод и вывод float аргументов через Main

ввод и вывод float аргументов через Main

Столкнулся с интересным и не совсем понятным поведением компилятора

249
c# vlc activex добавить в сборку

c# vlc activex добавить в сборку

Добавил Vlc ActiveX в проект, как com элементБиблиотеки подцепились работают, при установки проекта поставил добавлять dll, которые относятся к этому...

167
Заполнение DataGridView через DataTable. При применении фильтрации или сортировки сбрасываются настройки строк DataGridView

Заполнение DataGridView через DataTable. При применении фильтрации или сортировки сбрасываются настройки строк DataGridView

Для применения фильтрации на самом контролле (не в модели данных) использую DataTable для создания таблицы и DataView

472