博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaSE 数组排序
阅读量:7256 次
发布时间:2019-06-29

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

hot3.png

是数组操作常用操作之一,通过排序将数组中原来顺序按照升序(从小到大)或降序(从大到小)重新组织。数组排序算法很多,最常用的是冒泡排序。下面以升序排序为例讲解。

可以理解为需要若干趟相邻元素交换,每趟交换的结果是最大元素排在最后。以下面包含10个元素数组为例。

5

7

2

9

4

0

8

6

3

1

每一趟相邻元素交换,原则是前者大于后者,则将两者交换,否则不动。

第一趟:10个元素相邻比较需要9次。最终9排在最后

5

7

2

9

4

0

8

6

3

1

5

7

2

9

4

0

8

6

3

1

5

2

7

9

4

0

8

6

3

1

5

2

7

9

4

0

8

6

3

1

5

2

7

4

9

0

8

6

3

1

5

2

7

4

0

9

8

6

3

1

5

2

7

4

0

8

9

6

3

1

5

2

7

4

0

8

6

9

3

1

5

2

7

4

0

8

6

3

9

1

5

2

7

4

0

8

6

3

1

9

第二趟:前9个相邻元素参与比较(因为最后一个已是最大的了,不需要参与)需要8次,最终8排在9之前。

依次类推,每趟相邻元素比较得互剩余元素最大元素放上趟排序得到最大元素之前,因此需要9次。

代码如下:

public static void main(String[] args) {

 int[] ={5,7,2,9,4,0,8,6,3,1};

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

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

 if(arr[j]>arr[j+1]){

 int t=arr[j];

 arr[j]=arr[j+1];

 arr[j+1]=t;

 }

 }

 }

 for(int i=0;i<arr.length;i++){

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

 }

 

}

 

转载于:https://my.oschina.net/u/2971691/blog/891024

你可能感兴趣的文章
php 把一个一维数组的值依次赋值到二维数组中的每一项
查看>>
CF_315C_Sereja and Contest
查看>>
vue,下级页面刷新导致路由跳转带过来的数据消失的解决方法
查看>>
border的简略
查看>>
echo
查看>>
接口测试工具-Jmeter使用笔记(九:跨线程组传递变量)
查看>>
(五)CXF之添加拦截器
查看>>
MySQL系列(四)
查看>>
C语言文件操作函数大全(超详细)
查看>>
sql语句
查看>>
log4j配置
查看>>
安装程序无法创建新的系统分区
查看>>
配置DNS服务器
查看>>
lock(3)——更新锁(U)、排它锁(X)、死锁及如何避免死锁
查看>>
使用SignalR 2 注意事项
查看>>
多进程 (一) — 像线程一样管理进程
查看>>
node+vue报错合辑
查看>>
Date——js 获取当前日期到之后一个月30天的日期区间
查看>>
RT-SA-2019-003 Cisco RV320 Unauthenticated Configuration Export
查看>>
Java线程练习
查看>>