java数组排序冒泡排序_java数组排序之冒泡排序

上一篇文章说了,选择排序。

选择排序的原理就是,先确定第一个格子当中的数字是最小的,之后确定第二个格子是其他数字中最小的依次类推。

这一节当中我们来看下冒泡排序:

思路:

1、首先拿第一个数字跟第二个比,如果第二个数字大于第一个数字,那么保持各自位置,否则交换位置,让数字更小的那一个在前面,数字较大的在后面。第一个跟第二个比较完之后,紧接着第二个跟第三个进行比较,比较的原则也是根据第一次比较的原则,这样比较下去一直到数组的结尾,我们得到的是这个数组中的最大值,并且这个最大值在数组的结尾处。也就是说最末尾的值我们现在已经确定了,我们接下来确定的就是次末尾的值。然后再想之前那样循环遍历比较,只是此时的长度减一。

4436cf91d31905e14812b475bdc84657.png

代码:

class SelectSort

{

public static void main(String[] args)

{

int[] arr = {12,87,34,39,134,4,45,8,21233,99};

printArr(arr);

//selectSort(arr);

maopaoSort(arr);

printArr(arr);

}

public static void selectSort(int[] arr){

for(int i = 0; i

{

for(int a = i + 1; a<=arr.length-1 ; a++)

{

/**

*if(arr[i]>arr[a])

*{

*int temp = arr[i];

*arr[i] = arr[a];

*arr[a] = temp;

*}

*/

if(arr[i]>arr[a])

swap(arr,i,a);

}

}

}

public static void maopaoSort(int[] arr){

for(int n = 0 ; n

{

for(int i = 0 ; i < arr.length-1-n ; i++)

{

if(arr[i]>arr[i+1])

swap(arr,i,i+1);

}

}

}

public static void printArr(int[] arr)

{

System.out.print("[");

for(int i=0 ; i

System.out.print(arr[i]);

if(i

System.out.print(",");

}

System.out.print("]");

System.out.println();

}

public static void swap(int[]arr,int x, int y)

{

int temp;

if(arr[x]>arr[y])

{

temp = arr[x];

arr[x] = arr[y];

arr[y] = temp;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值