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

冒泡排序----Java代码实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

冒泡排序----Java代码实现

 冒泡排序是交换排序中一种简单的排序方法。其处理过程为:  

(1)将整个待排序的记录序列划分成有序区和无序区,初始状态有序区为空,无序区包括所有待排序的记录。  

(2)对无序区从前向后依次将相邻记录的关键字进行比较,若逆序将其交换,从而使得关键字值小的记录向上"飘浮"),关键字值大的记录好像石块,向下“堕落”。      每经过一趟冒泡排序,都使无序区中关键字值最大的记录进入有序区,对于由n个记录组成的记录序列,最多经过n-1趟冒泡排序,就可以将这n个记录重新按关键字顺序排列。

 

 这是SortArithMetic类的实现,在这个类里面主要写清楚了冒泡排序的逻辑实现

package demo2;

import java.util.Arrays;

public class SortArithMetic {
    public int[] bubbleSort(int[] data) {


        boolean exchange;
        int tmp;
        int n = data.length;
        for (int i = 1; i < n; i++) {
            exchange = false;
            for (int j = 0; j < data.length - i; j++)
                if (data[j] > data[j + 1]) {
                    tmp = data[j + 1];
                    data[j + 1] = data[j];
                    data[j] = tmp;
                    exchange = true;

                }
                if (!exchange)
                    break;


        }
        return  data;

下面是对应的测试代码

package demo2;

public class TestSortArithMetic {
    public static void main(String[] args) {
        int data[] = {70, 30, 40, 10, 80, 20, 90, 100, 75, 60, 45};
        System.out.println("原始的數字序列");
        for (int i = 0; i < data.length; i++) {
            System.out.print(data[i] + " ");
        }
        System.out.println();
        SortArithMetic sort = new SortArithMetic();
        //QuickSort sort = new QuickSort();
        data = sort.bubbleSort(data);
        //data=sort.quickSort(data);
        System.out.println("排序后的數字序列:");
        for (int i = 0; i < data.length; i++) {
            System.out.print(data[i] + " ");
        }
    }
}

这是代码运行后的结果

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/953248.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号