冒泡排序(有一个数组 int[] array = {2,3,67,9,45}; 将其排列成9765432)

大概思路:

1.先将数组转换成字符串拼接;
2.将字符串拆成数组,为了之后的排序
3.冒泡排序或者是工具类排序

 1 package com.jxdyf.h5.controller.www;
 2
 3 import java.util.Arrays;
 4
 5 public class Test {
 6
 7     /*
 8      * 有一个数组 int[] array = {2,3,67,9,45}; 将其排列成9765432
 9      *
10      */
11     // 实现方法一:
12     public static Integer getNum() {
13         int[] array = { 2, 3, 67, 9, 45 };
14         Integer number = null;
15         // 1将数组转换成字符串
16         StringBuffer buffer = new StringBuffer();
17         for (int i = 0; i < array.length; i++) {
18             buffer.append(array[i]);
19         }
20         // 2将字符串转换成int类型的数组
21         int[] tempArray = new int[buffer.length()];
22         String string = buffer.toString();
23
24         for (int a = 0; a < string.length(); a++) {
25             char dd = string.charAt(a);
26             String ee = dd + "";
27             tempArray[a] = Integer.valueOf(ee);
28         }
29         // 3冒泡排序
30         for (int j = 0; j < tempArray.length - 1; j++) {
31             for (int k = 0; k < tempArray.length - j - 1; k++) {
32                 if (tempArray[k] < tempArray[k + 1]) {
33                     int temp = tempArray[k + 1];
34                     tempArray[k + 1] = tempArray[k];
35                     tempArray[k] = temp;
36                 }
37             }
38         }
39         StringBuffer sbuffer = new StringBuffer();
40         for (int m = 0; m < tempArray.length; m++) {
41             sbuffer.append(tempArray[m]);
42         }
43         String string2 = sbuffer.toString();
44         number = Integer.valueOf(string2);
45         return number;
46     }
47 //实现方式二
48     public static Integer getNum2() {
49         int[] array = { 2, 3, 67, 9, 45 };
50         Integer number = null;
51         // 1将数组转换成字符串
52         StringBuffer buffer = new StringBuffer();
53         for (int i = 0; i < array.length; i++) {
54             buffer.append(array[i]);
55         }
56         // 2分割
57         char[] arr = buffer.toString().toCharArray();
58         // 3排序
59         Arrays.sort(arr);
60         // 4组装成一个字符串
61         StringBuffer buf = new StringBuffer();
62         for (int k = arr.length - 1; k >= 0; k--) {
63             buf.append(arr[k]);
64         }
65         number = Integer.valueOf(buf.toString());
66         return number;
67     }
68 //调用上述方法输出
69     public static void main(String[] args) {
70         Integer num = getNum();
71         System.out.println(num);
72         Integer num2 = getNum2();
73         System.out.println(num2);
74
75     }
76
77 }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那些年的代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值