首页 > 代码库 > 【苏宁易购笔试题】冒泡排序把数字“1492586"排序成"9865421"然后生成新的字符串。
【苏宁易购笔试题】冒泡排序把数字“1492586"排序成"9865421"然后生成新的字符串。
public class Bubble { public static void main(String[] args) { // TODO Auto-generated method stub String initial = "1492586"; StringBuffer sb = new StringBuffer(""); int[] array = new int[initial.length()]; for (int i = 0; i < initial.length(); i++) { array[i] = Integer.parseInt(String.valueOf(initial.charAt(i))); } // System.out.print(Arrays.toString(array)); for (int i = 0; i < initial.length() - 1; i++) { for (int j = 0; j < initial.length() - 1 - i; j++) { if (array[j] < array[j + 1]) { int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } // System.out.print(Arrays.toString(array)); for (int i = 0; i < array.length; i++) { sb.append(array[i]); } String out = sb.toString(); System.out.print(out); }}
运行结果:9865421
使用ArrayList与Collections
import java.util.ArrayList;import java.util.Collections;public class Buble { public static void main(String[] args) { // TODO Auto-generated method stub String in = "1492586"; StringBuffer sbuffer = new StringBuffer(""); ArrayList<Integer> List = new ArrayList<Integer>(); for (int i = 0; i < in.length(); i++) { List.add(Integer.parseInt(String.valueOf(in.charAt(i)))); } Collections.sort(List); Collections.reverse(List); System.out.println(List); for (int i = 0; i < in.length(); i++) { sbuffer.append(List.get(i)); } String out = sbuffer.toString(); System.out.print(out); }}
运行结果:
[9, 8, 6, 5, 4, 2, 1]
9865421
应该还有一些地方可以简化···
【苏宁易购笔试题】冒泡排序把数字“1492586"排序成"9865421"然后生成新的字符串。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。