1.将一个数组的所有奇数位放在所有的偶数位之前
(1)代码思路:
设置两个指针,一个指向数组的首元素,一个指向数组的尾元素,先判断首元素,如果该元素是奇数,那么指针+1指向数组的下一个元素,如果是偶数那这个指针不变,开始判断尾指针,如果尾指针指向的是偶数,那么尾指针-1,指向它的前一个元素,如果尾指针指向的是一个奇数,那么尾指针不变,在首指针小于尾指针的情况下,交换首尾指针指向的元素,然后循环上述操作,直到尾指针小于等于首指针时停止。
#include<stdio.h> #include<stdlib.h> void Judge(int *p, int *q) { int tmp = *q; *q = *p; *p = tmp; } void X(int arr[], int sz) { int *left = &arr[0]; i