1:概念
通过相邻两个数组进行比较把小的数后移(实现从大到小的排序)或者把大的数往后移(实现重小到大的排序)。
如:一个待排序的数组,通过循环N(数组长度)次后并且每次循环结束后(N-1)都找到该数组中最小或者最大的数直到N-1=0
2:观察每次排序的效果
如下图所示每循环一次都能找到带排序中最小的数(下标为红色的数字)直到循环结束
冒泡排序截图3:代码示例
public static void main(String[] args) {
/**
* 冒泡排序:待排序
*/
int[] toSort={12,342,1,56,8,789,3,5,999,33,88};
System.out.print("排序前结果:");
printTosort(toSort);
System.out.println();
for(int i=0;i<toSort.length-1;i++){
int temp=0;
for(int j=0;j<toSort.length-1;j++){
if(toSort[j]<toSort[j+1]){
temp=toSort[j+1];
toSort[j+1]=toSort[j];
toSort[j]=temp;
}
}
System.out.println();
System.out.print("第【"+(i+1)+"】次排序的结果:");
printTosort(toSort);
System.out.println();
}
System.out.println();
System.out.print("排序后结果:");
printTosort(toSort);
}
private static void printTosort(int[] toSort) {
for(int i=0;i<toSort.length;i++){
System.out.print(toSort[i]+" ");
}
}
希望对看到文章的小伙伴有所帮助。
网友评论