原理
每次比较两个相邻的元素,将较大的元素交换至右端。
步骤
每次冒泡排序操作都会将相邻的两个元素进行比较,看是否满足大小关系要求,如果不满足,就交换这两个相邻元素的次序,一次冒泡至少让一个元素移动到它应该排列的位置,重复N次,就完成了冒泡排序。
代码实现(java)
import java.util.Scanner;
public class bubbleSort {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n=Integer.parseInt(scanner.nextLine());
String str=scanner.nextLine();
String[]strs=str.split(" ");
int[]arr=new int[n];
for (int i=0;i<n;i++){
arr[i]=Integer.parseInt(strs[i]);
}
for (int j=n-1;j>0;j--){
for (int i=0;i<j;i++) {
if (arr[i] > arr[i + 1])
swap(arr, i, i + 1);
}
}
for (int i=0;i<n;i++){
System.out.print(arr[i]+" ");
}
}
static void swap(int []arr,int i,int j){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
很简单,不解释了。