C语言:调整数组使奇数全部都位于偶数前面。
来源:互联网 发布:股票智能交易软件 编辑:程序博客网 时间:2024/05/19 16:22
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<assert.h>void even_old_number(int *arr, int len){ assert(arr); int i = 0; int j = 0; int tmp = 0; for (i = 0; i < len; i++) { while ((arr[i] % 2 == 0) && (i < len)) { i++; } while ((arr[j] % 2 == 1) && (j < len)) { j++; } if (i == len || j == len) return; if (i > j) { tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; tmp = i; i = j; j = tmp; } }}int main(){ int arr[] = { 1, 2, 3, 4, 5 }; int len = sizeof(arr) / sizeof(arr[0]); even_old_number(arr, len); int i = 0; for (i = 0; i < len; i++) { printf("%d ", arr[i]); } system("pause"); return 0;}
另外,方法2也可以,
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>void even_odd(int *arr, int len){ int left = 0; int right = len - 1; while (left < right) { while((left < right) && (arr[left] % 2 == 1)) { left++; } while((left < right) && (arr[right] % 2 != 1)) { right--; } if (left < right) { int tmp = arr[left]; arr[left] = arr[right]; arr[right] = tmp; left++; right--; } }}int main(){ int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int i = 0; int len = sizeof(arr) / sizeof(arr[0]); even_odd(arr, len); for (i = 0; i < len; i++) { printf("%d ", arr[i]); } printf("\n"); system("pause"); return 0;}
0 0
- 【C语言】调整数组使奇数全部都位于偶数前面
- 【c语言】调整数组使奇数全部都位于偶数前面
- 【C语言】调整数组使奇数全部都位于偶数前面(修改)
- 【C语言】【面试题】【笔试题】调整数组使奇数全部都位于偶数前面
- C语言:调整数组使奇数全部都位于偶数前面。
- 【C语言】调整数组使奇数全部都位于偶数前面
- C语言程序-调整数组使奇数全部都位于偶数前面
- 调整数组使奇数全部都位于偶数前面。
- 1.调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面
- 调整数组使奇数全部都位于偶数前面
- 调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面
- 1.调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面
- 调整数组使奇数全部都位于偶数前面。
- 调整数组使奇数全部都位于偶数前面
- hi3507/hi3515交叉编译live555
- C语言:使用冒泡排序,排序多个字符串(优化)。
- C语言:冒泡法排序一组数,如何优化?
- C语言:使用main函数的参数,实现一个整数计算机。
- java 成员访问级别
- C语言:调整数组使奇数全部都位于偶数前面。
- C/C++(&Java) Volatile关键词深度剖析
- C语言:模拟实现memmove
- C语言:模拟实现memcpy
- HDU 5378 (概率dp)
- 【笔试题】C语言:模拟实现strcmp
- C语言函数变参问题
- 【笔试题】C语言:模拟实现strcat
- 安装 Maven