Today, I let's learn about the principle of bubble sorting in Java.
public class Test05 {
public static void main(String[] args) {
int[] arr = new int[]{23,61,45,12,53,126}; //Define array
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if (arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) { //Output sorted array
System.out.println(arr[i]);
}
}
}
1. Java's bubble sort is a simple operation for array traversal.
2. My array has six elements, so it means I have to loop five times to select the first to fifth largest number, so the sixth is naturally The smallest, so "arr.length" should be reduced by one or not, but the operating efficiency will be a bit slower.
3. The essence of bubble sorting is the comparison of a number and the next number, arr[j] and arr[j+ 1], so in order to prevent the array from crossing the boundary, the "arr.length" of the second-level for loop must be reduced by one, because an outer for loop can be executed once to select a current maximum value. So each time you can subtract one, which can be represented by i, so there will be "arr.length-1-i", of course, you can also not subtract i. The reason is the same as above, but one must be subtracted by
4. The condition of if judgment is to judge two The size of the number, if the conditions are met, the data will be exchanged. According to the second number I wrote, the second number will always be greater than the first number, and so on.
5, and then the sorted array elements can be output in turn
Comments
Post a Comment