今天在网上看到一个百度的C++面试题目

原创 2015年08月03日 20:21:45

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">将一个含有正数和负数的数组按负数在前正数在后的顺序排列,负数与负数间,正数与正数间的相对位置不变。</span>

刚看到这个题目,感觉和之前学过的所有排序都不一样,仔细想其实就是个插入排序的变形。

例如数组[-3,4,-7,5,6,-9,8,0,2,1],首先将-7插入到第一个正数4前,然后将第二个负数插入到第一个正数4前,然后第三个,第四个.......

代码如下

</pre><pre name="code" class="cpp">#include"iostream"
using namespace std;

void bubble(int Num[], int length)
{
	int position = 0;
	for (int i = 0; i < length; i++)
	{
		if (Num[i] > 0)
		{
			position = i;//找出第一个正数的位置
			break;
		}
	}
	for (int i = position; i < length; i++)
	{
		if (Num[i] < 0)//如果是负数,则插入
		{
			int temp = Num[i];//插入排序
			for (int j = i; j > position; j--)
			{
				Num[j] = Num[j - 1];
			}
			Num[position] = temp;
			position++;//注意,每次插入后第一个正数的位置后移了一位
		}
	}
}

int main()
{
	int Num[10];
	cout << "Please input 10 numbers:" << endl;
	for (int i = 0; i < 10; i++)
	{
		cin >> Num[i];
	}
	bubble(Num, 10);
	cout << "Sorted numbers:" << endl;
	for (int i = 0; i < 10; i++)
	{
		cout << Num[i] << "\t";
	}
	return 0;
}


百度C++面试题

2012年10月18号百度PC客户端岗位一面电话面试面试题: 前奏:因为阿里巴巴的面试不能由大连调北京,我就风尘扑扑的从北京回到大连去面阿里巴巴,尽管知道在就业形势很不好的今年进阿里巴巴的机...
  • qq_29108585
  • qq_29108585
  • 2017年02月12日 21:08
  • 3518

c+c%2B%2B程序员面试宝典

  • 2011年03月08日 13:06
  • 1.36MB
  • 下载

程序员面试宝典 %2B 剑指Offer %2B 算法100题系列 %2B 15个经典算法打包下载

  • 2015年03月15日 20:51
  • 40.74MB
  • 下载

百度2015年数据挖掘面试题

面试的部门的深圳的数据挖掘部门旗下的推荐与个性化团队,电话面试了整整一个半小时,现在整理一下题目: 1、先问了下做过什么项目 2、编程题两道: 1)从N行的文本内随机抽取M行,保证每次抽...
  • mk476734929
  • mk476734929
  • 2015年03月26日 17:52
  • 818

百度HR给的JS面试题

说出以下代码运行结果 var a = {n: 1}   var b = a;   a.x = a = {n: 2}   console.log(a.x);   console.log(b.x...
  • fanyuenan
  • fanyuenan
  • 2017年02月08日 10:34
  • 557

面经(C++)

自己写的面经,仅供参考。可能对应届生的作用大些。 找工作是靠点运气,但绝非只靠运气。其实任何事都是。有人把找工作比作相亲,你看上我我看上你,这点也就是官方所说的双选。 应届生注意的几个时间点: ...
  • yutianxin123
  • yutianxin123
  • 2016年11月03日 20:52
  • 1051

C/C++面试笔试

  • 2013年12月20日 23:19
  • 66KB
  • 下载

经历3轮百度面试的问题(iOS)

算法暂且不提,肯定有几道。 iOS基础问题记录,很遗憾第三轮以为是hr面试掉以轻心了,并且经历4个多小时面试身心俱疲, 自我感觉第三轮发挥很差,出来以后吹了吹风才发现,其实第三轮可以很轻松过去。 若没...
  • zramals
  • zramals
  • 2016年06月17日 16:17
  • 1591

百度实习生面试经历

写下这次面试百度实习生的经历,即做自己学习面试的总结,也提供给有需要的人一点参考吧。 源起 抓住暑假的尾巴在安顺玩耍时,收到一个朋友发给我的百度实习的岗位信息及要求。当时随便看了下,是百度地图...
  • u012507301
  • u012507301
  • 2015年12月14日 16:30
  • 1483

如何进入百度、阿里,一个6年Android老司机的面经

快点我喔! 花絮 也许会有人感叹某些人的运气比较好,但是他们不曾知道对方吃过多少苦,受过多少委屈。某些时候就是需要我们用心去发现突破点,然后顺势而上,抓住机遇,那么你将会走向另外一条大...
  • xhmj12
  • xhmj12
  • 2016年11月07日 11:09
  • 1473
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:今天在网上看到一个百度的C++面试题目
举报原因:
原因补充:

(最多只允许输入30个字)