题目描述
使用冒泡排序法对给定数组从小到大排序,输出冒泡排序过程中数字交换次数
输入
第一行一个正整数n。(1<=n<=5e3)
第二行n个整数 数据保证在int范围内 (保证没有重复数字)
输出
输出冒泡排序过程中数字交换次数
样例输入
5
5 4 3 2 1
样例输出
10
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n=scan.nextInt();
int[] a=new int[n];
for (int i=0;i<n;i++){
a[i]=scan.nextInt();
}
System.out.println(sort(a));
}
public static int sort(int[] a){
int count=0;
for (int i=0;i<a.length-1;i++){
for (int j=i+1;j<a.length;j++){
if (a[i]>a[j]) {
a[i]=a[i]+a[j];
a[j]=a[i]-a[j];
a[i]=a[i]-a[j];
count++;
}
}
}
return count;
}
}