独自にオーダー付けアルゴリズムを実装する方法

カスタム並べ替えアルゴリズムを作成する肝は、比較関数を定義し、その結果に基づいて要素の並び順を決めることだ。

サンプルのカスタムソートアルゴリズムの実装(昇順ソートの例):

  1. 比較関数とは、2つのパラメータを受け取り、数値を返す関数です。
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相等
    }
}
  1. バブルソートなどのカスタムソートアルゴリズムを実装する
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;
            }
        }
    }
}
  1. カスタムソートアルゴリズムを呼び出す:
int[] arr = {5, 2, 8, 1, 9};
int len = arr.length;
customSort(arr, len);

この例では、compare 関数は要素の比較ルールを定義し、customSort 関数は、compare 関数の結果に基づいて、バブルソートアルゴリズムを使用して配列の要素をソートします。必要に応じて、compare 関数をカスタマイズして、異なるソートルールを実現できます。

bannerAds