数组冒泡排序

开发工具与关键技术: MyEclipse  Java

撰写时间:2020、8、8

数组是编程语言的重要结构之一,数组常用于储存固定大小的同类元素。数组同时也有许多用法,比如遍历,排序等许多为开发提供便利的方法。
其中数组的排序也有许多排序方法,这里我说的是数组的冒泡排序,冒泡排序也是我们比较常用的排序方法之一。
首先我说一下我这个方法的原理大概是:他是通过数组角标相比较的方式进行排序,比如一个数组有5个数,相对应的就有5个角标,比较过程就是:第一轮比较拿0角标跟1角标比较数据大的一方往后置换顺序,置换完后再继续用1角标跟2角标比,还是一样数据大的一方再往后置换顺序,后面的以此类推两个相邻之间的角标数进行比较直到比到最后一个,完成第一轮之后得出数组最大的一位,也就是第五位,第一轮结束剩下前四个数,然后将剩下的四个数进行第二轮比较,还是跟第一轮一样两个相邻之间的角标数进行比较,这一轮也是得出剩下四个数中最大的,往后每轮比较都是比较次数比上一轮少一次以此类推直至比较完整个数组的个数。
代码如下:
public static void bleArray(int[] arr)
{
//外循环:循环数组元素个数-1次。
for(int x=0;x<arr.length-1;x++)
{
//内循环:-1:为了避免角标越界。
// -x:为了让外循环增加一次,内循环参数与比较的元素个数递减。
for(int y=0;y<arr.length-1-x;y++)
{
//判断角标
if(arr[y]>arr[y+1])
{
//置换顺序
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}

//主函数代码块如下:
public static void main(String[] args)
{
//定义一个数组
int[] arr= {239,45,5,67,60,34};
//调用排序
printArray(arr);//排序前打印
bleArray(arr);//冒泡排序
printArray(arr);//排序后打印
}

//数组的遍历代码块
public static void printArray(int[] arr)
{
System.out.print("[");
for(int x=0;x<arr.length;x++)
{
if(x!=arr.length-1) {
System.out.print(arr[x]+",");
}
else {
System.out.println(arr[x]+"]");
}
}
}
最后是测试结果了。结果如下图所示:
在这里插入图片描述

当然现在新版的Java提供了工具类(Arrays)直接定义了排序的功能,无需写自己手写这些代码,但是虽然有工具类但是这些方法的逻辑跟写法还是要掌握更好。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值