for(int j=0;j<n;j++){ for(int k=j;k<n;k++){ if(array[j]>array[k]){ int temp = array[k]; array[k]=array[j]; array[j]=temp; } } }
// Как это работает? То есть я решил, но все еще не понимаю.
Это пузырьковая сортировка. См. https://en.m.wikipedia.org/wiki/Bubble_sort для объяснения этого простого подхода к сортировке данных.