求数组算法 分奇偶数

来源:百度知道 编辑:UC知道 时间:2024/09/28 08:25:03
一个数组 长度100 都是正整数 分成奇前偶后 求简单算法

两个下标,i从前到后循环。j从后往前循环。

i=0,j=99

while(i<=j)
{
1.当i指向的元素为奇数时,i++
2.当j指向的元素为偶数时,j--
3.如果i指向的元素为偶数且j指向的元素为奇数,则交换i,j指向的元素,然后i++,j--
}

最后根据i的大小,可以判断奇数的个数。

最坏情况99次可以搞定。

如楼上所给出的算法即可。实际上学过快速排序的话,就知道,两个算法原理是相似的