Никак не могу понять этот алгоритм ,Может кто объяснит мне поэтапно... Буду благодарен
searchKey=55;
for(j=0;j<nElems;j++){ // Поиск удаляемого элемента
if(arr[j]==searchKey){
break;
}
}
for(int k = j;k<nElems-1;k++){
// Сдвиг последующих элементов
arr[k] = arr[k+1];
}
nElems--; // Уменьшение размера
j
в которой будет находиться индекс искомого элемента в массивеbreak
j
содержит индекс искомого значения в массивеj
nElrms
уменьшиласьДанный кусок кода "вырезает" из входной последовательности первый элемент со значением searchKey
searchKey
- искомое значение в последовательности
for(j=0;j<nElems;j++)
- проходим по последовательности от 0
до nElems
(скорее всего - это длина последовательности)
if(arr[j]==searchKey) { break; }
- если j-й элемент последовательности arr
равен searchKey
(в данном случае 55), тогда break
(прекращаем работу цикла, при этом j
= индексу элемента со значением searchkey
for(int k = j;k<nElems-1;k++){
arr[k] = arr[k+1];
}
Проходим по этой же последовательности, только теперь не от начала до конца, а от j
до nElems - 1
и текущему элементы последовательности присваиваем значение следующего (проще говоря, вырезаем элемент со значением searchKey
)
nElems--
- уменьшаем длину последовательности на единицу.
Но, если говорить откровенно, то абсолютно согласен с оратором в комментариях. Вы используете массив и "вырезаете" из него значение, но вырезанием, честно говоря, это назвать нельзя. Так как вы вместо него подставляете оставшиеся элементы массива, но от этого его размер не изменяется, он как состоял из n
элементов, так и состоит.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Существует ограниченное количество случаев когда может выскочить InterruptedExceptionПонятно что это может произойти при вызове wait() или sleep(), они...