这也是一道面试题,是不是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. MapReduce读取hdfs上文件,建立词频的倒排索引到Hbase

    Hdfs上的数据文件为T0,T1,T2(无后缀): T0: What has come into being in him was life, and the life was the light o ...

  2. Android内存管理(2)HUNTING YOUR LEAKS: MEMORY MANAGEMENT IN ANDROID PART 2

    from: http://www.raizlabs.com/dev/2014/04/hunting-your-leaks-memory-management-in-android-part-2-of- ...

  3. 阿里云yum源

    wget -O /etc/yum.repos.d/CentOS-Base-aliyun.repo http://mirrors.aliyun.com/repo/Centos-6.repo 参考:htt ...

  4. poj3295Tautology

    http://poj.org/problem?id=3295 这几天补一补poj之前落下的题吧 枚举 #include <iostream> #include<cstdio> ...

  5. 函数lock_rec_has_expl

    判断是否预加锁的模式 要强壮于 已添加的lock锁模式 /*********************************************************************// ...

  6. 自己实现内存操作函数memset(),memcmp(),memcpy(),memmove()

    1.memset()内存设置函数(初始化) void *my_memset(void* dest, int c, size_t count) { assert(dest != NULL); char  ...

  7. php实现一致性哈希算法

    <?php//原理概念请看我的上一篇随笔(http://www.cnblogs.com/tujia/p/5416614.html)或直接百度 /** * 接口:hash(哈希插口).distri ...

  8. linux下编译软件通用方法(memcached为例)

    1)到软件的官网或其他网站下载软件的源码包 2)解压源码包,并切换到源码目录中 3)使用./configure --help查询配置帮助,里面可能会有安装指南(Installation directo ...

  9. php多种实例理解无限极分类

  10. typedef函数指针用法

    typedef void(*vp)(); 将vp声明为一个函数指针类型,该类型的指可以针指向一个没有参数,带空返回值的函数. 调用方法vp p;创建一个vp类型的函数指针p void print(vp ...