Java选择排序算法

Java常用排序算法,包括交换排序、选择排序、插入排序和合并排序。其中交换排序主要包括冒泡排序和快速排序法;选择排序主要包括选择排序法和堆排序法;插入排序主要包含插入排序法和Shell排序法。以上几种基本排序法直接对计算机内存中的数据进行排序。
冒泡排序算法通过多次比较和交换实现排序,其排序流程如下:
(1)对数组中的各数据,依次比较相邻两元素的大小。
(2)如果前面的数据大于后面的数据,就交换两个数据。经过第一轮多次的比较厚,便可把最小的数据排好。
(3)再用同样的方法把剩下的数据逐个进行比较,最后便可按照从小到大的顺序排好数组各数据的顺序。

实现如下:   
void bubbleSort(int[]a){
    int temp;
    for(int i=1;i<a.length;i++){
        for(j=0;j<a.length-i;j++){
            if(a[j]>a[j+1]){
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    //打印数组
    for(int k=0;i<a.length;k++){
        System.out.print(""+a[k]);
    }
}
选择排序法思路比较直观,在每一步中选取最小值重新排列,从而达到排序的目的。主要是通过选择和交换来实现排序,其流程如下:
(1)首先从原始数组中选择最小的1个数据,将其和位于第一个位置的数据交换。
(2)接着从剩下的n-1个数据中选择次小的一个数据,将其和第二个位置数据交换。
(3)然后,这样不断重复,直到最后两个数据交换,至此完成了数据从小到大的交换。
void selectSort(int[]a){
    int index;
    int temp;
    for(int i; i<a.length-1;i++){
        index=i;
        for(int j=i+1;j<a.length;j++){
            if(a[j]<a[index]){
                index=j;
            }
        }
        //交换两个数
        if(index!=i){
            temp=a[i];
            a[i]=a[index];
            a[index]=temp;
        }
    }
    //打印数组
    for(int k=0;i<a.length;k++){
        System.out.print(""+a[k]);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值