这也是一道面试题,是不是easy到爆,但是渣渣我面试时一点算法状态都没有

这道题和上一篇博客里那道题的解法一模一样

# include <iostream>
using namespace std;
typedef int DataType; void InputArray(DataType*& array,int& l){
cout<<"输入数组长度:";
cin>>l;
array=new DataType[l];
int i=0;
while(i<l){
cin>>array[i++];
}
};
void OutputArray(DataType* array,int l){
for(int i=0;i<l;i++){
cout<<array[i]<<"\t";
}
cout<<endl;
};
void InsertionSort(DataType*& array,int l,int d){
int key=0,j=0;
if(d==1){
for(int i=1;i<l;i++){
j=i-1;
key=array[i];
while(j>=0&&array[j]>key){
array[j+1]=array[j--];
}
array[j+1]=key;
}
}
else if(d==-1){
for(int i=1;i<l;i++){
j=i-1;
key=array[i];
while(j>=0&&array[j]<key){
array[j+1]=array[j--];
}
array[j+1]=key;
}
}
};
void Find(DataType* array,int l,DataType t){
int i=0,j=l-1,sum=0;
while(i<j){
sum=array[i]+array[j];
if(sum>t) j--;
else if(sum<t) i++;
else{
cout<<array[i]<<"+"<<array[j]<<"="<<t<<endl;i++;j--;
}
}
};
void Merge(DataType*& array,int l){
int i=0,j=l-1;
while(i<j){
if(array[i]%2==0&&array[j]%2==1){
int temp=array[i];
array[i]=array[j];
array[j]=temp;
}
else{
if(array[i]%2==1)
i++;
if(array[j]%2==0)
j--;
}
}
};
int main(){
DataType* array=NULL;
int l=0,d=0;
char conti='Y';
cout<<"--------开始-------"<<endl;
while(conti=='Y'||conti=='y'){
InputArray(array,l);
cout<<"请输入排序方式【顺序:1/逆序:-1】:";
cin>>d;
InsertionSort(array,l,d);
OutputArray(array,l);
int t=0;cin>>t;
Find(array,l,t);
Merge(array,l);
OutputArray(array,l);
cout<<"输入新的待排序数组?【Y/N】:";
cin>>conti;
}
cout<<"---------结束--------"<<endl;
OutputArray(array,l);
return 0;
}

  

  

把数组A的奇数放在左边,偶数放在右边的更多相关文章

  1. 29.调整数组顺序使奇数位于偶数前面[ReOrderArray]

    [题目] 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分.要求时间复杂度为O(n). [分析] 如果不考虑时间复杂度,最简单的思路应该是从头扫描这个 ...

  2. 剑指offer(07)-调整数组顺序使奇数位于偶数前面【转】

    来源:http://www.acmerblog.com/offer-6-2429/ 题目来自剑指offer系列 九度 1516 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得 ...

  3. 剑指offer-第三章高质量的代码(调整数组顺序使得奇数位于偶数的前面)

    题目:输入一个整数数组,实现一个函数中调整该数组中数字的顺序,使得所有的奇数位于数组的前半部,所有偶数位于数组的后半部. 思路:用两个指针p1和p2,分别指向数组的头和尾部,p1只向后移,p2只向前移 ...

  4. 【剑指Offer学习】【面试题14 :调整数组顺序使奇数位于偶数前面】

    题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序.使得全部奇数位于数组的前半部分.全部偶数位予数组的后半部分. 这个题目要求把奇数放在数组的前半部分, 偶数放在数组的后半部分,因此全部的奇 ...

  5. 剑指offer面试题14(Java版):调整数组顺序使奇数位于偶数的前面

    题目:输入一个整数数组.实现一个函数来调整该数组中数字的顺序.使得全部奇数位于数组的前半部分.全部偶数位于数组的后半部分. 1.基本实现: 假设不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,每 ...

  6. 剑指offer:调整数组顺序使奇数位于偶数前面

    题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 分析 事实上,这个题比较简单,很多种方式都可以实现,但是其时间复杂度或空间复 ...

  7. 牛客网剑指offer第13题——调整数组顺序使得奇数位于偶数前面

    题目来源:剑指offer 题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变 ...

  8. 剑指offer-面试题14.调整数组顺序使奇数位于偶数的前面

    题目:输入一个整数数组,实现一个函数来调整该数组中的数字的顺序, 使得所有的奇数位于数组的前半部门,所有的偶数位于数组的后半部门. 这一题一看其实是很简单的,当然在不考虑效率的情况可以这样考虑 我们将 ...

  9. 【Java】 剑指offer(21) 调整数组顺序使奇数位于偶数前面

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇 ...

  10. 剑指Offer:调整数组顺序使奇数位于偶数前面【21】

    剑指Offer:调整数组顺序使奇数位于偶数前面[21] 题目描述 输入一个整形数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 解题分析 使用插 ...

随机推荐

  1. 基于Linux的oracle数据库管理 part4( shell管理 上 )

    主要内容 1. shell 基础补充 2. shell脚本与 SQL*PLUS shell 基础补充 - $(()) 中内容被看做是算术表达式, 其中的变量有没有”$”都可以, 例如 result = ...

  2. JSON 之 SuperObject(5): Format 与转义字符

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  3. R语言多重共现性的检测

    1.kappa值 2. library(car)vif(lm.sol) 得到各个系数的方差膨胀因子,当0<VIF<10的时候,不存在多重共线性,当10<=VIF<100,存在较 ...

  4. 通过javascript把图片转化为字符画

    1.获取上传图片对象数据 Javascript无法直接获取本地上传的图片的数据,html5可以解决这一问题 .html5里面的FileReader interface可以把图片对象的数据读到内存,然后 ...

  5. 09day2

    多米诺骨牌 递推+高精度 [问题描述] Jzabc 对多米诺骨牌有很大兴趣,然而他的骨牌比较特别,只有黑色的和白色的两种.他觉得如果存在连续三个骨牌是同一种颜色,那么这个骨牌排列便是不美观的.现在他有 ...

  6. python 包管理

    如果导入的模块和主程序在同个目录下,直接import就行了 2.如果导入的模块是在主程序所在目录的子目录下,可以在子目录中增加一个空白的__init__.py文件,该文件使得python解释器将子目录 ...

  7. typedef 深入剖析

    typedef是一个我们常常会用到的关键字,而这个关键字有许多陷阱或者说许多不为我们深入理解的地方.很多书上都是很简单地一笔代过,并没有真正地让我们理解这个关键字.本文对其进行详细地说明.综合网络上找 ...

  8. 给产品经理讲技术,不得不懂的TCP和UDP

    TCP/IP协议,你一定经常听说吧,其中TCP(Transmission Control Protocol)称为传输控制协议,IP(Internet Protocol)称为因特网互联协议,好吧,这都是 ...

  9. jquery再学习(1)

    一:jquery对象和js的dom对象相互转化 html代码 <ul> <li class="sxf" name="dd">第一< ...

  10. freemaker转word xml注意事项

    java类字符串变量如果含有以下2种字符: &和  <,必须转义否则转化将失败. 其中: &替换成 & <替换成 < 因为一些怪字符数据库存储时已转义了,从数 ...