码迷,mamicode.com
首页 > 编程语言 > 详细

面试宝典中用C++实现循环队列

时间:2014-11-04 19:40:33      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:io   os   for   sp   bs   as   c++   ios   return   

清楚原理后很简单
#include<iostream>
using namespace std;
int abs(int a)
{
	return (a>=0)?a:-a;
}
int max(int a,int b)
{
	return (abs(a)>=abs(b))?abs(a):abs(b);
}
int foo(int x,int y)
{    //int u;
    int a=abs(x);
	int b=abs(y);
	int t=max(a,b);
	int v=(2*t-1)*(2*t-1);
	int u=v;
	if(y==-t)
	{
		u=u+7*t+x;
	}
	else if(x==t)
	{
		u=u+t+y;
	}
	else if(y==t)
	{
		u=u+3*t-x;
	}
	else
	{
		u=u+5*t-y;
	}
	return u;
}
int main()
{  // cout<<foo(1,0)<<endl;
	for(int y=-4;y<=4;++y)
	{
		for(int x=-4;x<=4;++x)
		{
			cout<<foo(x,y)<<'\t';
		}
		cout<<endl;
	}
	system("pause");
	return 0;
}

面试宝典中用C++实现循环队列

标签:io   os   for   sp   bs   as   c++   ios   return   

原文地址:http://blog.csdn.net/qq_22335577/article/details/40790087

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!