1 /*28 【程序 28 排序算法】 2 题目:对 10 个数进行排序 3 程序分析:可以利用选择法,即从后 9 个比较过程中,选择一个最小的与第一个元素交换, 下次类推, 4 即用第二个元素与后 8 个进行比较,并进行交换。 5 */ 6 /*分析 7 * 冒泡排序法: 8 * 利用数组得到键盘上的一组数据并保存,再通过冒泡排序法得到新的数组 9 * 使用两层for循环,外面一层判断排序排到哪儿了,里面一层用于遍历剩下需要排序的数 10 * 11 * */ 12 13 package homework; 14 15 import java.util.Scanner; 16 17 public class _28 { 18 19 public static void main(String[] args) { 20 // 从键盘得到一个包含10个整数的数组 21 System.out.println("请输入一个包含10个整数的数组:"); 22 Scanner sc = new Scanner(System.in); 23 int[] a = new int[10]; 24 // 利用for循环将数字存入数组a[]中 25 for (int i = 0; i < a.length; i++) { 26 a[i] = sc.nextInt(); 27 } 28 // //测试数组的数据 12 123 11 2 4 1 54 65 23 10 29 // for (int i = 0; i < a.length; i++) { 30 // System.out.print(a[i]+" "); 31 // } 32 33 int t; // 声明一个中间量,用于交换位置是临时储存 34 // 第一层,记录排序排到哪儿了 35 for (int i = 0; i < a.length; i++) { 36 37 // 第二层,遍历还需要排序的数 38 for (int j = 0; j < (a.length - 1); j++) { // a.length-1是因为判断大小时的需要(下面加1了) 39 if (a[j] > a[j+1]) { // 有小到大排列,若是由大到小则是< 40 // 交换位置 41 t = a[j]; 42 a[j] = a[j+1]; 43 a[j+1] = t; 44 } 45 // System.out.println(i+" "+j); //测试 46 } 47 48 } 49 for (int i = 0; i < a.length; i++) { 50 System.out.print(a[i] + " "); 51 } 52 53 } 54 55 }
原文地址:https://www.cnblogs.com/scwyqin/p/12313837.html
时间: 2024-10-15 00:43:22