int method(int x[], int n)
{
int low = 0, high = n - 1;
while (low < high)
{
while (x[high] % 2 != 0)
high--;
while (x[low] % 2 != 1)
{
low++;
}
if (low < high)
{
swap(x[low],x]high);
}
low++;
high--;
}
}
奇数在前,偶数在后,时间复杂度,空间复杂度最小
这个算法主要关注于对整数数组的排序,通过low和high指针来遍历数组,分别找到不满足条件的元素并进行交换。当low指针小于high指针时,循环会持续进行,直到数组部分有序。该算法适用于处理二进制属性(奇偶性)相关的排序问题。
31

被折叠的 条评论
为什么被折叠?



