Tôi đang cố gắng viết loại lựa chọn này từ cao xuống thấp và tôi không chắc chắn cách thực hiện điều đó. Tôi khá mới để sắp xếp các thuật toán.Cách đảo ngược lựa chọn sắp xếp
public void selectionSort(String[ ] data){
// for each position, from 0 up, find the next smallest item
// and swap it into place
for (int place=0; place<data.length-1; place++){
int minIndex = place;
for (int sweep=place+1; sweep<data.length; sweep++){
if (data[sweep].compareTo(data[minIndex]) < 0)
minIndex=sweep;
}
swap(data, place, minIndex);
}
}
Lý do tại sao tôi đang cố gắng để thay đổi nó là sắp xếp chọn ở đây chạy qua phần còn lại của mảng, tìm giá trị nhỏ nhất và sau đó hoán đổi nó vào front.I muốn thay đổi thuật toán để nó cũng tìm giá trị tối đa trong phần còn lại, và hoán đổi nó ở mặt sau, sao cho nó xây dựng một danh sách được sắp xếp từ phía trước và mặt sau cùng một lúc.
Tất cả các trợ giúp sẽ được đánh giá cao :)
những gì bạn nghĩa là gì? Thứ tự giảm dần? –
@SleimanJneidi yeah, thứ tự giảm dần –
Tôi tin rằng chỉ thay đổi - 'if (data [sweep] .compareTo (dữ liệu [minIndex])> 0)' –