小编ter*_*lt1的帖子

C 中结构的通用排序函数

所以我有这个问题。我应该创建一些排序函数以在 C 中的通用排序例程中使用。我只有一个函数可以工作。该函数应该用作结构的排序函数。代码应按年份排列列表。

以下是预先编写并用于排序例程的两个辅助函数的代码:

static
void swap(void **left, void **right) {
    void *temp = *left;
    *left = *right;
    *right = temp;
}

void sort_array(void *Array[], unsigned size, int (*ordered)(void *, void *))
{
    int i;
    int have_swapped = 1;

    while (have_swapped) {
        have_swapped = 0;
        for (i = 0; i < size - 1; ++i ){
            if (ordered(Array[i], Array[i+1])) {
                swap(&Array[i], &Array[i+1]);
                have_swapped = 1;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后就是这个函数,也是预写在 main 中用来测试的。

int main() {
    int i;
    int status = …
Run Code Online (Sandbox Code Playgroud)

c pointers structure function-pointers

3
推荐指数
1
解决办法
60
查看次数

标签 统计

c ×1

function-pointers ×1

pointers ×1

structure ×1