调整数组顺序使奇数位于偶数前面
来源:互联网 发布:高端女装淘宝货源 编辑:程序博客网 时间:2024/06/18 00:37
面试题14:调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序。使得所有奇数位于数组的前半部分,所有偶数位于奇数的后半部分;
思路:(1)维护两个指针分别指向数组的头和尾;
(2)移动两个指针,当头指针指向的数字为偶数并且尾指针指向的数字为奇数时;交换两个指针指向的值;
(3)以此进行,直到头指针等于尾指针停止循环;
代码:
//AdjustArrOddBeforeEven.hpp#pragma once#include<iostream>using namespace std;void AdjustOddBeforeEven(int arr[],int size){ int* start = arr; int* end = arr+size-1; while(start < end) { while(*start%2 == 1) { start++; } while(*end%2 == 0) { end--; } swap(*start,*end); }}void Display(int arr[],int size){ for(int i=0;i<size;++i) { cout<<arr[i]<<" "; } cout<<endl;}void TestAdjustOddBeforeEven(){ int arr[]={1,2,3,4,5}; int size=sizeof(arr)/sizeof(arr[0]); cout<<"Before adjust:"; Display(arr,size); AdjustOddBeforeEven(arr,size); cout<<"In adjust:"; Display(arr,size);}//AdjustArrOddBeforeEven.cpp#include"OddBeforeEven.h"int main(){ TestAdjustOddBeforeEven(); return 0;}
0 0
- 【数组3】-调整数组顺序使奇数位于偶数前面
- 数组3:调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面--总结
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面[
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使偶数位于奇数前面
- coding - 调整数组顺序使奇数位于偶数前面
- 我的笔记 集合类的分类
- JDBC Dao的设计模式框架搭建
- 关于java web项目中数据库连接池无法创建的问题
- Android 内存优化
- 进程间通信机制(IPC-Inter Process Communication)接口简介
- 调整数组顺序使奇数位于偶数前面
- 我的笔记 HashMap 集合类
- zabbix监控系统
- 树状数组——BZOJ4240 有趣的家庭菜园
- 英语词汇表
- 中文乱码在java中URLEncoder.encode方法要调用两次解决
- Jdbc的事务
- 我的笔记 泛型和反射机制
- 泛型中的? 通配符以及泛型的边界