创建一个包含数字的数组。例如:int arr[] = {12, 43, 567, 87, 99, 167, 3, 689};
使用快速排序算法来排序这些数字。例如:
void quickSort(int arr[], int low, int high)
{
int i = low;
int j = high;
int temp;
int pivot = arr[(low + high) / 2]; // pivot element
while (i <= j) {
while (arr[i] % 10 < pivot % 10)
i++;
while (arr[j] % 10 > pivot % 10)
j--;
if (i <= j) {
// swap elements
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
if (low < j)
quickSort(arr, low, j);
if (i < high)
quickSort(arr, i, high);
}
在上述代码中,我们使用了快速排序并在 while 循环中使用了两个 while 循环来比较最后一位。首先,我们通过计算数组中间位置的法拉盛入口来获取枢轴元素。我们通过枢轴元素来比较最后一位并根据比较结果来交换数组元素的位置。
现在我们对数组的第一位进行排序。可以添加一个新的函数来按照第一位进行排序。该函数与快速排序函数非常相似。你需要将 pivot % 10 改为 pivot / 10,同时通过替换大于和小于符号来比较元素的第一位。
调用上述快速排序函数和按照第一位进行排序的函数来对数组进行排序。例如:
quickSort(arr, 0, 7);
sortByFirst(arr, 0, 7);
6
上一篇:按照数字顺序拖动选定的输入框
下一篇:按照数字序列/顺序复制或同步