设一个一维整数数组中有n(n>1)个元素,设计一个在时间和空间两方面尽可能高效的算法,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求: 给出算法的基本设计思想。

admin2014-04-17  25

问题 设一个一维整数数组中有n(n>1)个元素,设计一个在时间和空间两方面尽可能高效的算法,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求:
给出算法的基本设计思想。

选项

答案基本设计思想:算法的策略是从数组的第一个元素位置和最后一个元素位置向数组的中部进行遍历。因此可以定义两个变量,将它们当做下标来遍历数组,第一个下标一开始指向数组第一个元素,它只向后移动,第二个下标一开始指向数组最后一个元素,它只向前移动。在两个下标相遇之前,第一个下标总是位于第二个下标的前面。如果第一个下标指向的元素是偶数而第二个下标指向的元素是奇数,就交换这两个元素。

解析
转载请注明原文地址:https://kaotiyun.com/show/Wixi777K
0

最新回复(0)