标题:一个小矩阵-奇数与偶数的运行速度差别超级大……
取消只看楼主
hujing16
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-12-31
 问题点数:0 回复次数:0 
一个小矩阵-奇数与偶数的运行速度差别超级大……
#include<stdio.h>
#include<stdlib.h>
#pragma warning(disable:4996)
main()
{ int**a;
int n,i,j,y,k;
printf("please input the integer n:\n");
scanf("%d",&n);
a=(int**)malloc(sizeof(int*)*n);
   for(i=0;i<n;i++)
        a[i]=(int*)malloc(sizeof(int)*n);
  y=1;
  k=1;
  i=0;j=0;
while(y<=n*n)
  { for((i=k-1)&&(j=k-1);j<=(n-k);j++)
      {a[j][i]=y;
      y++;}
    y--;
    for(j--;(i<=(n-k))&&(y<=n*n);i++)
      {a[j][i]=y;
      y++;}
    y--;
    for(i--;(j>=k-1)&&(y<=n*n);j--)
      {a[j][i]=y;
      y++;}
    y--;
       for(j++;(i>=k)&&(y<=n*n);i--)
      {a[j][i]=y;
      y++;}
   k++;
   }
for(i=0;i<n;i++)
          { for(j=0;j<n;j++)
             printf("%-4d",a[i][j]);
              printf("\n");
           }
}
脑子抽抽编了个小程序,目的是s型给一个任意的n*n矩阵输入值;
在VS上运行一跑,如果输入的n是偶数,结果秒出;如果输入的n是奇数的话,等待时间超级超级长,超过了5s……这是为什么呢?
(同时也求助更简单的算法,比如递推或者求结束点规律之类的方法;语言用C ^—^)
搜索更多相关主题的帖子: include warning please 
2016-12-31 21:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-473176-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039556 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved