[英]java - largest to smallest sort - largest is out of order
我正在嘗試使這種排序算法對數組中的最大到最小排序。 這是我所擁有的:
private void sort(int[] data) {
int min;
for (int index = 0; index < data.length - 1; index++) {
min = index;
for (int scan = index + 1; scan < data.length; scan++) {
if (data[scan] > data[min]) min = scan;
swap (data, min, index);
}
}
}
private void swap(int[] data, int pos0, int pos1) {
int temp = data[pos0];
data[pos0] = data[pos1];
data[pos1] = temp;
}
輸出為:
3 3 4 2 2 2 2 1 1 1 1 1 1
為什么第二大數字亂序?
我一直在經歷這個過程,顯然我缺少一些東西。
您正在關閉if語句
if (data[scan] > data[min]) min = scan;
swap (data, min, index);
swap()
將在較少的if
條件下被調用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.