указатели пузырьковой сортировки, указывающие на объекты - PullRequest
0 голосов
/ 08 марта 2020

Есть ли более эффективный способ написать пузырьковую сортировку при работе с указателями на ob js? Это работает без проблем, но я хочу посмотреть, смогу ли я сжать все операторы if в один оператор if.

void bubbleSort(Record* arr[], int size, int n) {
    for (size_t i = 0; i < size; i++)

        // Last i elements are already in place  
        for (int j = 0; j < size - i - 1; j++)
            switch (n) {
            case 1:
                if (arr[j]->ID > arr[j + 1]->ID)
                    swap(arr[j], arr[j + 1]);
                break;
            case 2:
                if (arr[j]->name > arr[j + 1]->name) {
                    swap(arr[j], arr[j + 1]);
                }
                break;
            case 3:
                if (arr[j]->amount > arr[j + 1]->amount)
                    swap(arr[j], arr[j + 1]);
                break;
            case 4:
                if (arr[j]->price > arr[j + 1]->price)
                    swap(arr[j], arr[j + 1]);
                break;
            }

}
...