С тем, как этого избежать я уже разобрался, нужно просто присвоить элементы второго массива элементам первого:
int[] noSortNum = new int[32];
for (int i =0;i<noSortNum.length;i++){
noSortNum[i]=num[i];
}
Однако до сих пор не могу понять, что происходило до этого, я присваивал:
int[] noSortNum = num;
Сортировал массив num
, после чего массив noSortNum
также становился отсортированным.
Подскажите, пожалуйста, как это работает и для чего это было сделанно?
У вас есть объект массива в памяти и ссылка на него num.
Когда вы вызвали int[] noSortNum = num;
вы создали вторую ссылку на тот же самый объект в памяти. Естественно когда вы его отсортировали - вы по обоим ссылкам увидели один и тот же отсортированный массив
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеется cmake файл, не знаю правильно ли добавляю в неё зависимости библиотекнужно добавить egl и glesv3
Программа должна крутить куб на который наложена текстура
Есть переменная, которую получаю из класса (тип float): Class->floatVar Нужно вывести нормально с char