java之冒泡排序:
实际原理,如图所示:
- 由此可见:N个数字要排序完成,总共进行N-1趟排序,每第 i 趟的排序次数为 (N-i) 次。
- 可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数,即代码实现,如下:
for(inti=0;i<arr.length-1;i++){
for(intj=0;j<arr.length-1-i;j++){
}
}
冒泡排序法 口诀:
- 外层循环 0到n-1 //控制比较轮数 n 表示元素的个数
- 内层循环 0到n-i-1 //控制每一轮比较次数
- 两两比较做交换
具体代码如下:
import java.util.Scanner;
public class demo10 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/* 需求说明
求出4家店的最低手机价格*/
Scanner input = new Scanner(System.in);
System.out.print("输入有几家店:");
int store = input.nextInt();
int[] price = new int[store];
System.out.println("请输入"+store+"家店的价格");
for (int i = 0; i < price.length; i++) {
System.out.print("第"+(i+1)+"家店的价格:");
price[i]=input.nextInt();
}
for (int i = 0; i < price.length-1; i++) {
for (int j = 0; j < price.length-1-i; j++) {
if (price[j]> price[j+1]) {
int temp = price[j];
price[j] = price[j+1];
price[j+1] = temp;
}
}
}
for (int i = 0; i < price.length; i++) {
System.out.print(price[i]+" ");
}
}
}
实现效果图,如: