栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

每日经典算法题(二十八) 冒泡排序

Java 更新时间:发布时间: 百科书网 趣学号
每日经典算法题(二十八) 冒泡排序

冒泡排序:Bubble Sort

题目

任意输入 10 个数,并对这 10 个数进行从小到大的排序。

程序分析

对于这种数字排序问题,我们一般用冒泡排序的方法来进行排序。

思路

首先我们应该知道什么是冒泡排序,冒泡排序是依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

这里我们需要分别以每个数为基准和其他的数依次进行比较,所以要用双重 for 循环,外层控制被比较的数,内层循环控制轮换比较的数。

由于要从小到大排序,判断条件是第一层的数若大于第二层的数,则将两个数交换。

代码示例
public class Q28_10NumbersArrangement {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int []arr = new int[10];
        System.out.println("请输入10个正整数:");
        for (int i=0;i<10;i++){
            arr[i]=scanner.nextInt();
        }
        
        for (int i=0;i<10;i++){
            for (int j=i+1;j<10;j++){
                if (arr[i]>arr[j]){ //若第一个数大于第二个数
                    int t = arr[i]; //
                    arr[i] = arr[j]; //两个数交换,小的在前面
                    arr[j] = t;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
    }
}
输出结果
请输入10个正整数:
125
879
456
12
6555
783543
1234564
452
333
897
[12, 125, 333, 452, 456, 879, 897, 6555, 783543, 1234564]
  • Day28 打卡成功!
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/295181.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号