博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java语言中选择排序和冒泡排序
阅读量:5121 次
发布时间:2019-06-13

本文共 1195 字,大约阅读时间需要 3 分钟。

/**

 *
编写程序
1.定义排序类
      方法:排序,显示
2.定义冒泡排序和选择排序两个子类
 */
//排序测试类(用抽象类来实现)
public class TestSort{
    public static void main(String[] args){
        int[] array=new int[]{
          3,5,9,12,1,6
        };
        Sort s=new MaoPaoSort();
        s.sort(array);
        s.show(array);
        s=new XuanZeSort();
        s.sort(array);
        s.show(array);
    }
}
/**
 *排序抽象类
 */
abstract class Sort {
    
    public abstract void sort(int[] array);
    
    public abstract void show(int[] array);
    
}
//冒泡排序类
class MaoPaoSort extends Sort{
    //业务逻辑处理
    public void sort(int[] array){
        for(int i=0;i<array.length-1;i++){
            for(int j=0;j<array.length-i-1;j++){
                int t;
                if(array[j]>array[j+1]){
                    t=array[j];
                    array[j]=array[j+1];
                    array[j+1]=t;
                }
            }
        }
    }
    //遍历数组
    public void show(int[] array){
        for(int i=0;i<array.length;i++){
            System.out.print(array[i]+" ");
        }
        System.out.println();
    }
}
//选择排序类
class XuanZeSort extends Sort{
    public void sort(int[] array){
        for(int i=0;i<array.length;i++){
            int k=i;
            for(int j=i;j<array.length;j++){
                if(array[k]>array[j]){
                    k=j;
                }
            }
            int t=0;
            t=array[k];
            array[k]=array[i];
            array[i]=t;
        }
    }
    //遍历数组
    public void show(int[] array){
        for(int i=0;i<array.length;i++){
            System.out.print(array[i]+" ");
        }
        System.out.println();
    }
}

转载于:https://www.cnblogs.com/bestzxl/archive/2012/12/19/2825673.html

你可能感兴趣的文章
1007: [HNOI2008]水平可见直线
查看>>
Eclipse快捷键
查看>>
把数组排成最小的数
查看>>
网易2017校招编程题
查看>>
mybatis-plus之Mapper CRUD接口和 Service CRUD 接口
查看>>
android sudio 记录
查看>>
《我们仨》读后感
查看>>
100-days: twenty-four
查看>>
javascript定义对象写法
查看>>
AJAX专题
查看>>
Vue.js 学习笔记(一)
查看>>
Problem B: ChongBit
查看>>
opencv 车牌字符分割 ANN网络识别字符
查看>>
C# 文件路径、目录、I/O常见操作汇总
查看>>
Groovy学习笔记-使用多赋值
查看>>
hibernate入门
查看>>
oracle被另一个用户锁住了
查看>>
安装apk报出INSTALL_FAILED_INSUFFICIENT_STORA...
查看>>
Ubuntu 13.04下构建Qt5开发环境
查看>>
Elastalert安装及使用
查看>>