算法设计:排序整数值关键词记录 - 偶数优先
(1) 基本思想: 使用两个指针,分别指向序列的首尾。每次比较两个指针指向的元素,若首指针指向偶数,尾指针指向奇数,则交换二者位置。然后首指针向后移动,尾指针向前移动,继续比较,直到指针相遇。
(2) 关键步骤注释:
- 初始化指针:
p1指向序列首元素,p2指向序列尾元素。 - 循环比较元素: 使用
while循环,当p1和p2未相遇时,比较p1和p2所指元素,若满足题目要求(p1指向偶数,p2指向奇数),则交换元素。 - 移动指针: 每次交换后,
p1向后移动一位,p2向前移动一位,继续比较。
(3) 时间复杂度: O(n),因为只需遍历一次序列,每次比较和交换操作的时间复杂度均为 O(1),所以总的时间复杂度为 O(n)。
空间复杂度: O(1),算法仅使用常数个额外变量存储指针,因此空间复杂度为 O(1)。
原文地址: https://www.cveoy.top/t/topic/n1Ce 著作权归作者所有。请勿转载和采集!