實現自定義排序算法的關鍵是定義一個比較函數,根據比較函數的結果來確定元素的排序順序。
以下是一個示例的自定義排序算法實現(以升序排序為例):
int compare(int a, int b) {
// 比較邏輯,根據需要自定義比較規則
if (a < b) {
return -1; // a在前,b在后
} else if (a > b) {
return 1; // a在后,b在前
} else {
return 0; // a和b相等
}
}
void customSort(int[] arr, int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - 1 - i; j++) {
if (compare(arr[j], arr[j+1]) > 0) {
// 如果返回值大于0,交換arr[j]和arr[j+1]的位置
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int[] arr = {5, 2, 8, 1, 9};
int len = arr.length;
customSort(arr, len);
在這個示例中,compare函數定義了元素的比較規則,customSort函數使用冒泡排序算法根據compare函數的結果對數組元素進行排序。可以根據實際需求,自定義compare函數來實現不同的排序規則。