Java冒泡排序

随机生成十个1-100的随机数,使用冒泡排序法进行升序和降序排列。

其中主要是

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

int t = num[j];

num[j] = num[j + 1];

num[j + 1] = t;

}

例如a=3,b=2.想要ab交换位置那么需要一个第三方。

如t=a //t=3

a=b //a=2

b=t // b=3

这样就完成了两个数的交换。

package text;

import java.util.Arrays;

import java.util.Random;

public class maopao {

public static void main(String[] args) {

Random random = new Random();

int[] num = new int[10];//生成十个随机数

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

num[i] = random.nextInt(100) + 1;//+1是生成数1-100 jdk1.8

// num[i]= random.nextInt(1,101);//生成1-100 jdk17

}//排序前输出

System.out.println("随机生成数" + Arrays.toString(num));

System.out.println("---------------------------");

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

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

//从小到大排序

// 前后两个大小换位置,当前面的数大于后面的数时前后交换位置

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

int t = num[j];

num[j] = num[j + 1];

num[j + 1] = t;

}

}

}

//从小到大排序的输出结果

System.out.println("从小到大排序的输出结果:" + Arrays.toString(num));

System.out.println("-------------------------------");

//从大到小

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

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

//从小到大

if (num[j] < num[j + 1]) {

int t = num[j];

num[j] = num[j + 1];

num[j + 1] = t;

}

}

}

System.out.println("从大到小排序的输出结果" + Arrays.toString(num));

System.out.println("-----------------------------");

Random random1 = new Random();

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

int a = random1.nextInt(num.length);

int b = random1.nextInt(num.length);

if (a == b) {

--i;

} else {

int t = num[a];

num[a] = num[b];

num[b] = t;

}

}

System.out.println("乱序的输出结果" + Arrays.toString(num));

}

}

输出结果:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值