Bubble sort,It's a relatively basic algorithm.The core implementation ideas are as follows:
1.Define an array,The length is N.
2.Compares each pair of adjacent items and swaps them if they are in the wrong order.
such as:
if (a[j - 1] > a[j]) {//The number in front is larger than that in the back.
//swap a[j-1]和a[j]
int temp; //Initial value of definition temp.
temp = a[j - 1];
a[j - 1] = a[j];
a[j] = temp;
3.N=N-1,If N is not 0, repeat the previous two steps, otherwise the sorting is completed.
Implementation:
utility class:
public class BubbleSort {
public static void mian(String args[])
{
//ToDo
}
public static <T extends Comparable<? super T>>void bubbleSort (T[]arr){
int n = arr.length;
int boundary;//Trailing edge traversal of records.
do {
boundary = 0;
for (int i = 1; i < n; i++)
if (arr[i - 1].compareTo(arr[i]) > 0) {
swap(Arrays.asList(arr), i - 1, i);
boundary = i;//The boundary value is reset after each comparison, and if this line is not executed during the comparison, the sorting is done.
}
n = boundary;
} while (boundary > 0);
}
}
implementation class:
class Numbers implements Comparable<Numbers>{
private int number;
public int getNumber(){
return number;
}
public void setNumber(){
this.number=number;
}
public Numbers(int number){
super();
this.number=number;
}
@Override
public String toString(){
return "[number="+number+"]";
}
@Override
public int compareTo(Numbers o) {
if(number==o.number)
return 0;
else if(number>o.number)
return 1;
else
return -1;
}
}
扫描二维码关注公众号,回复:
3324482 查看本文章
Over.
Thanks.2018-09-24.