Ваше первое решение не будет работать, оно не будет сортировать массив. Но второй, будет работать, и он будет сортировать данные, начиная с самых маленьких и самых больших. Для получения дополнительных пояснений см. Ниже:
Ну, идея алгоритма сортировки пузырьков заключается в том, чтобы пройти через массив/коллекцию данных, сравнивая каждую пару соседних элементов и заменяя их, если они находятся в неправильном порядке. Проход через массив/список повторяется до тех пор, пока не потребуются свопы, что указывает на сортировку списка/массива. Сложность времени: O (n^2). и пространство мы будем использовать исходный массив. Позвольте использовать следующий массив, чтобы проиллюстрировать разговор в приведенном выше абзаце:
//array of integer to be sorted
int[] arrayToSort=new int[]{1,7,81,2,-2,9,9,6,-6};
//repeat until we're done sorting
while (true){
//flag to check if we did swap number(s)
boolean didSort=false;
/*
* this inner loop is being used to find numbers that need to be
* swapped and then help in swapping them
*/
for(int count=0;count<arrayToSort.length-1;count++){
//check if we need to swap
if(arrayToSort[count]>arrayToSort[count+1]){
int temp=arrayToSort[count+1];
arrayToSort[count+1]=arrayToSort[count];
arrayToSort[count]=temp;
//set our swap flag so that we will know that we did swap
didSort=true;
}
}
//check we did a swap in our last inner loop iteration if not will
//be done sorting, then break the outer loop
if(!didSort){
break;
}
}
//let's print the sorted array.
for(int i=0;i<arrayToSort.length;i++){
System.out.print(arrayToSort[i]+", ");
}
1-й не сортирует массив. – sgarizvi
Второй лучше, потому что он сортирует данный массив. –