【发布时间】:2015-03-02 19:22:49
【问题描述】:
我必须编写代码来对一些数字进行排序,虽然我决定使用“for”而不是“while”,但我想知道它为什么会这样。它正在对所有内容进行排序,但它会将 14 留在原处,如果有人能解释一下,那将非常感激
public class SortForMe {
public static void main(String args[]) {
int ListOfNumbers[] = {16, 100, 205, 8, 1, 3, 2, 5, 7, 6, 15, 10, 14};
int Length = ListOfNumbers.length;
int Sorted = 1;
int T;
int Order = 0;
System.out.println("Given number :");
while(Order < Length) {
System.out.println(" " + ListOfNumbers[Order]);
Order++;
}
System.out.println("\n");
System.out.println("After Sort:");
while (Sorted < Length) {
while (Order < Length - Sorted) {
if (ListOfNumbers[Order] > ListOfNumbers[Order + 1]) {
int temp = ListOfNumbers[Order];
ListOfNumbers[Order] = ListOfNumbers[Order + 1];
ListOfNumbers[Order + 1] = temp;
}
Order++;
}
Order = 0;
Sorted++;
}
while(Order < Length) {
System.out.println(ListOfNumbers[Order]);
Order++;
}
}
}
【问题讨论】:
-
你只需要一个循环,所以 int Sorted = 0;
标签: arrays sorting while-loop bubble-sort