1. 首页 > 笙耀百科 >

详细设计数据结构 详细设计数据结构怎么写

关于详细设计数据结构,详细设计数据结构怎么写这个很多人还不知道,今天小怡来为大家解答以上的问题,现在让我们一起来看看吧!

1、#includeusing namespace std;int x[9][9],a[9],b[9],e;bool pd()//判断这种排序方式是否满足八皇后不重叠,满足返回1,不满足返回0{int i,j;memset(x,0,sizeof(x));for(i=1;i{if(x[i][a[i]]==0){x[i][a[i]]=1;for(j=i+1;j{if(a[i]+j-iif(a[i]-j+i>=1)x[j][a[i]-j+i]++;}}elsereturn 0;}return 1;}void set()//列出所有组合情况,然后让判断函数判断是否可行,可行方案加1{int sum=0;for(int i=1;iint z=8,f=0,cs=40320;do{if(++f>8||z>=8){f=a[z--];b[f]=1;}else if(b[f]==1){a[++z]=f;b[f]=0;f=0;if(z==8){cs--;if(pd()){for(i=1;icoutsum++;}}}}while(z>=0&&cs>0);cout}int main(){set();system("pause");return 0;}#include#includeusing namespace std;#include#include#include#include#define N 8int a[N+1]={0},b[N+1]={0};bool judge(int a,int i,int j){int k;for(k=1;k{if(a[k]==j||a[k]==j+i-k||a[k]==j-i+k)return false;}return true;}int main(){int i,j,k;int sum=0;for(i=1;i{for(j=1;j{a[i]=j;l: if(judge(a,i,j)){b[i]=j;if(ibreak;else{sum++;for(k=N;k>=1;k--){if(a[k]!=N){int t;for(t=k;ta[t]=0;a[k]=b[k]+1;i=k;j=b[k]+1;goto l;}if(k==1&&a[k]==N){coutreturn 1;}}}}else if(j>=N){for(k=N;k>=1;k--){if(a[k]!=N&&a[k]!=0){int t;for(t=k;ta[t]=0;a[k]=b[k]+1;i=k;j=b[k]+1;goto l;}if(k==1&&a[k]==N){coutreturn 1;}}}}}return 0;}你上C语言吧里去找,那里的资料比较全面。

本文到这结束,希望上面文章对大家有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息