初级编程通关练习题 #11 – 数组排序

给定一个整数数组,把数组里的奇数按照从小到大排序,偶数保持原来的位置不变。譬如,数组 [2, 5, 1, 6, 8, 3, 4, 0] 按照这个要求排序后的结果是: [2, 1, 3, 6, 8, 5, 4, 0]。

输入样例:

[9, 5, 3, 2, 8, 1, 4, 7]

输出样例:

[1, 3, 5, 2, 8, 7, 4, 9]

算法思路:

  • 先把数组里面的奇数提取出来排序。
  • 然后循环数组里面的数值,如果是偶数则保持不变,如果是奇数就从奇数数组里面按顺序提取一个数值来替换。