基于visual Studio2013解决面试题之0901奇偶站队




题目



解决代码及点评

 
 
 
 
/*
    给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数 

	解决方法:
	两边同时遍历,如果遇到左边偶数或者右边基数,则交换
*/

#include <iostream>
using namespace std;

void Sort(int *pnArr, int nLen)
{
    int i = 0;
    int j = nLen - 1;

	// 两边同时遍历
    while (i < j)
    {
		// 左边基数则pass
        while (pnArr[i] % 2 == 1 && i < j)
        {
            i++;
        }
		// 右边偶数也pass
        while (pnArr[j] % 2 == 0 && i < j)
        {
            j--;
        }
		// 否则交换
        swap(pnArr[i], pnArr[j]);
    }
}
int main()
{
    int nArr[] = {1,234,23,2,1,5,7,9,34,22,45,77,54,31,34};
    int nLen = sizeof(nArr) / sizeof(int);
    
    Sort(nArr, nLen);
    for (int i = 0; i < nLen; i++)
    {
        cout<<nArr[i]<<" ";
    }
    cout<<endl;
    system("pause");
    return 0;
}

代码下载及其运行

代码下载地址:http://download.csdn.net/detail/yincheng01/6704519

解压密码:c.itcast.cn


下载代码并解压后,用VC2013打开interview.sln,并设置对应的启动项目后,点击运行即可,具体步骤如下:

1)设置启动项目:右键点击解决方案,在弹出菜单中选择“设置启动项目”


2)在下拉框中选择相应项目,项目名和博客编号一致

3)点击“本地Windows调试器”运行


程序运行结果









转载于:https://www.cnblogs.com/new0801/p/6177329.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值