如果我有一个排序算法,并且我想按结构的某个字段进行排序。我基本上是在寻找一个参数(sortBy
在这种情况下)能够确定是否将比较 fieldOne 或 fieldTwo 的可能性——而无需不断检查要使用的正确字段。
void func(SomeType *arr, int length, int sortBy) {
int i;
for(int i = 0; i < length, i++) {
if(sortBy == 1) {
doSomethingTo(arr[i].fieldOne);
}
else if(sortBy == 2) {
doSomethingTo(arr[i].fieldTwo);
}
// etc
}
}