我试图在不使用字符串、数组或递归的情况下对任意长度的整数的数字进行升序排序。
例子:
Input: 451467
Output: 144567
我已经想出了如何用模数除法得到整数的每一位:
int number = 4214;
while (number > 0) {
IO.println(number % 10);
number = number / 10;
}
但我不知道如何在没有数组的情况下对数字进行排序。
不用担心 IO
类;这是我们教授给我们的定制类(class)。
最佳答案
它是 4 行,基于 while 循环的 for
循环变体和一点 java 8 spice:
int number = 4214;
List<Integer> numbers = new LinkedList<>(); // a LinkedList is not backed by an array
for (int i = number; i > 0; i /= 10)
numbers.add(i % 10);
numbers.stream().sorted().forEach(System.out::println); // or for you forEach(IO::println)
关于java - 如何在没有字符串或数组的情况下按升序对整数数字进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33971256/