算法--螺旋队列代码实现
来源:互联网 发布:mac数据库软件 编辑:程序博客网 时间:2024/05/07 00:21
最近看了有个螺旋队列的问题,感觉有实现的必要,代码如下:
inline int max(int x,int y){return x>y?x:y;}int foo(int x,int y){int t=max(abs(x),abs(y));int c=t;c<<=1;c-=1;c*=c;if(y==t){return c+3*t-x;}else if(x==-t){return c+5*t-y;}else if(y==-t){return c+7*t+x;}else{return c+t+y;}}void main(){const int N=6;for(int i=-N;i<=N;i++){for(int j=-N;j<=N;j++)printf("%4d",foo(j,i));printf("\n");}}
程序打印出螺旋队列,有待完善。
下面是这种螺旋队列的一种变形:
inline int max(int x,int y){return x>y?x:y;}int other(int x,int y,int n){n=n*2+1;n*=n;int t=max(abs(x),abs(y));int c=t;c<<=1;c-=1;c*=c;if(y==-t){return n+1-(c+3*t+x);}else if(x==t){return n+1-(c+5*t+y);}else if(y==t){return n+1-(c+7*t-x);}else{return n+1-(c+t-y);}}void main(){const int N=4;for(int i=N;i>=-N;i--){for(int j=-N;j<=N;j++)printf("%3d",other(j,i,N));printf("\n");}}
0 0
- 算法--螺旋队列代码实现
- 螺旋队列 算法与代码
- 螺旋矩阵算法代码实现
- 螺旋矩阵、螺旋队列算法
- 螺旋队列C++代码
- 【算法】螺旋队列
- 螺旋队列算法(YC)
- 螺旋队列算法分析
- 螺旋队列算法详解
- 螺旋队列-算法设计
- 螺旋队列算法分析
- 螺旋队列算法分析
- 螺旋队列算法分析
- 螺旋队列算法分析
- 螺旋队列算法分析
- 螺旋队列算法分析
- 螺旋队列算法分析
- 螺旋队列---算法分析
- Go语言 简单的爬虫示例(2)——编码转换
- 绝不输给命运
- 关于Windows7下创建Cocos2D-X项目的小问题
- 互联网公司面试的零零种种和多家经验
- OpenCV:Visual Studio 2013 Ultimate中OpenCV 2.4.8 配置
- 算法--螺旋队列代码实现
- java的修饰符
- ER模型
- 断井颓垣vgdsg
- 静静相爱,默默欢喜
- Hadoop中共享全局信息的几种方法
- 函数不能放在类中去定义
- 保持版本一致:解决Unsupported major.minor version 51.0
- ViewGroup的事件分发机制