【发布时间】:2022-01-05 02:30:43
【问题描述】:
我写这篇文章是为了一个任务,按重量排序我做的一组结构,然后按名称的字母顺序,想知道这是什么类型的排序?
void sortPR(stuct m *arr, int n_nodes) {
for (int i = 0; i < n_nodes; i++) {
// Sort in descending order for weight
for (int k = i + 1; k < n_nodes; k++) {
// If weight equal, sort alphabetically
if (arr[i].weight == arr[k].weight) {
// Sort alphabetically
if (strcmp(arr[i].name, arr[k].name) > 0) {
swap(&arr[i], &arr[k]);
}
} else if (arr[i].weight < arr[k].weight) {
swap(&arr[i], &arr[k]);
}
}
}
}
【问题讨论】:
-
@TauqeerAkhtar 这不是冒泡排序比较条件。这看起来像选择排序
-
选择排序最小化交换次数:-)