螺旋队列的打印
来源:互联网 发布:云计算架构师是干嘛的 编辑:程序博客网 时间:2024/05/16 11:25
之前写过一篇螺旋矩阵的打印,那次是从外向内旋转,这次改成从内向外旋转,网上搜的资料基本都只有奇数的情况下,我稍微扩充了一下偶数,这种打印矩阵的题就是麻烦,要找规律然后不断的进行调试,废话少说,把我的方法贴出来以后自己看看也能有点提高。今天实在是不想详细写了。
代码:
// test3.cpp : 定义控制台应用程序的入口点。//打印螺旋矩阵/* * 21 22 23 24 25 * 20 7 8 9 10 * 19 6 1 2 11 * 18 5 4 3 12 * 17 16 15 14 13 *//*发现规律1.n为奇数,最后一位在左上角,n为偶数,最后一位在右下角2.找到初始值1的位置,n为1,2的时候,初始值在(0,0),n为3,4的时候,初始值在(1,1)结论,初始值的位置为((n-1)/2,(n-1)/2)*/#include "stdafx.h"#include <iostream>#include <cmath>#include <iomanip>using namespace std;void print(int n, int **data){for(int i=0; i<(n+1)/2; i++){data[(n-1)/2-i][(n-1)/2+i]=(1+2*i)*(1+2*i);}//深入内心,层层剥茧for(int i=0; i<(n+1)/2; i++){ //上方(从左到右)double temp=data[i][n-i-1];int s=sqrt(temp);for(int j=0; j<n-i*2-1; j++){data[i][n-i-s+j]=data[i][n-i-1]-s+1+j;}//左方(从上到下)for(int j=1; j<=n-1-2*i; j++)//n-i*2-1{data[i+j][i]=data[i][i]-j;}//下方for(int j=1; j<=n-i*2-1; j++){data[n-i-1][j+i]=data[n-i-1][i]-j;}//右方for(int j=1; j<n-1-2*i; j++){data[i+j][n-1-i]=data[n-1-i][n-1-i]-s+j+1;}}}int _tmain(int argc, _TCHAR* argv[]){int **data;int n;cout<<"请输入矩阵的行列数:";cin>>n;//建立二维矩阵data=new int *[n];for(int i=0; i<n; i++){data[i]=new int [n];}//初始化二维矩阵for(int i=0; i<n; i++){for(int j=0; j<n; j++){data[i][j]=0;}}//n为偶数if(n%2==0){print(n-1,data);//最后一列和最后一行for(int i=0; i<n; i++){data[i][n-1]=data[0][n-2]+i+1;}for(int i=0; i<n-1; i++){data[n-1][i]=data[n-1][n-1]+n-1-i;}}//n为奇数if(n%2==1){print(n,data);}//打印二维矩阵for(int i=0; i<n; i++){for(int j=0; j<n; j++){cout<<setw(3)<<data[i][j]<<" ";}cout<<endl;}//销毁二维矩阵for(int i=0; i<n; i++){delete [] data[i];}delete [] data;system("pause");return 0;}
结果:
1 0
- 螺旋队列的打印
- 打印螺旋队列
- 螺旋矩阵的打印
- 螺旋队列的问题
- 打印螺旋排列的数字
- 打印螺旋排列的数字
- 打印螺旋队列(更简单的方法)(难度:1颗星)
- 螺旋队列算法的解法
- 螺旋队列的另一种解法
- 螺旋打印
- 螺旋打印
- 螺旋队列
- 螺旋队列
- 螺旋队列
- 螺旋队列
- 螺旋队列
- 螺旋队列
- 螺旋队列
- 黑马程序员——JAVA-IO
- 九度1029 -map - 魔咒词典
- Javascript模块化编程(二):AMD规范
- javaWeb 开发超时设置
- Javascript模块化编程(三):require.js的用法
- 螺旋队列的打印
- Java常见的异常,Java运行时异常和一般异常的区别
- C#知识点总结(静态类,扩展方法,TryParse用法)
- 2015.06.18
- 反射
- Java进行https请求需要证书的问题 unable to find valid certification path to requested target
- 十一、状态模式
- Uva10881 - Piotr's Ants(蚂蚁)
- GIS切图性能调优