我正在寻找一种有效的算法来执行以下操作:给定N个项目的数组,以某种方式对它进行排序,以便项目以M个相等组进行排序,其中每个组是未排序,但组之间彼此排序(一个组中的所有元素都小于下一个组的任何元素)。 最简单的方法是对整个数组进行排序。但效率不高,特别是如果组数远远小于项目总数(例如,将100万项分为5组)。 目前我已经决定使用quickselect算法(具体来说,它是Floyd-Rivest va
我需要通过其标题以简单的方式对书对象进行排序。然而,我写的选择排序算法不能正常工作,只是移动书本,但没有明显的顺序。我究竟做错了什么? int j;
int b;
for (int i = 0; i < 20 - 1; i++) {
int minIndex = i;
for (j = i + 1; j < 20; j++) {
b = (bookA[j].