数据结构课程设计报告docWord下载.docx
- 文档编号:19727950
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:27
- 大小:112.83KB
数据结构课程设计报告docWord下载.docx
《数据结构课程设计报告docWord下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计报告docWord下载.docx(27页珍藏版)》请在冰豆网上搜索。
break;
\
if(pstr[i][0]!
=kaitou_x){
if(*(pjielong-1)==pstr[i][0]){
pjielong--;
return0;
运行结果:
二、方格问题
main()
{inti,n,g,j;
intf1[101]={0},f2[101]={0};
intf3[101];
scanf("
f1[100]=1;
f2[100]=3;
for(i=3;
=n;
i++)
{g=0;
for(j=100;
j>
=1;
j--)
{g=g+2*f1[j]+f2[j];
f3[j]=g%10;
g=g/10;
for(j=1;
j<
=100;
j++)
{f1[j]=f2[j];
f2[j]=f3[j];
j=1;
while(f3[j]==0)j++;
for(i=j;
printf("
f3[i]);
\n"
运行结果
二、FBZ串
inti,j,k,n,temp;
ints[1000][2];
charq[2000]={0};
temp=1;
k);
if(k==1)n=1;
else
for(i=2;
=k;
{
n=temp*2;
temp=n;
}
=n-1;
for(j=0;
scanf("
s[i][j]);
{if(s[i][j]==0)q[n*2+i*2+j]='
Z'
;
elseq[n*2+i*2+j]='
B'
{if((s[i][0]==s[i][1])&
&
(s[i][0]==0))
q[n+i]='
else
if((s[i][0]==s[i][1])&
(s[i][0]==1))
else
F'
}
for(j=n;
=2;
j=j/2)
for(i=0;
=j-1;
i=i+2)
{if((q[j+i]==q[j+i+1])&
(q[j+i]!
='
))
q[(j+i)/2]=q[j+i];
elseq[(j+i)/2]='
q[1]);
for(i=1;
=n*2-1;
i=i++)
{if(q[i]=='
)
printf("
%c%c"
q[i*2],q[i*2+1]);
getch();
}
四、分油
main()
intq[100][4]={0,0,0,0,10,0,0,0};
intj,front,rear,x10,x7,x3,y10,y7,y3,p,p1,i;
front=1;
rear=1;
p=1;
while(p)
{x10=q[front][0];
x7=q[front][1];
x3=q[front][2];
front++;
if((x10==5)&
(x7==5))p=0;
else{
if(x7<
7)
{y10=x10+x7-7;
y7=7;
y3=x3;
p1=1;
for(i=1;
=rear;
if((y10==q[i][0])&
(y7==q[i][1]))p1=0;
if(p1==1)
{rear++;
q[rear][0]=y10;
q[rear][1]=y7;
q[rear][2]=y3;
q[rear][3]=front-1;
if(x3<
3)
{y10=x10+x3-3;
y7=x7;
y3=3;
{rear++;
if(x7>
0)
{y10=x10+x7;
y7=0;
y3=x3;
{rear++;
if((x7>
0)&
(x3<
3))
{y10=x10;
if(x7+x3>
{y7=x7+x3-3;
y3=3;
else{y7=0;
y3=x7+x3;
if(x3>
{y10=x10+x3;
y3=0;
if((x7<
7)&
(x3>
0))
{y7=7;
y3=x7+x3-7;
else
{y7=x7+x3;
y3=0;
front--;
for(j=1;
=front;
{
printf("
%d%d%d\n"
q[j][0],q[j][1],q[j][2]);
五、关键点和桥
#include"
stdio.h"
intg[10][10]={0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,0,0,0,0,0,
0,1,0,1,0,0,1,0,0,0,
0,1,1,0,1,1,0,0,0,0,
0,1,0,1,0,1,0,0,0,0,
0,0,0,1,1,0,1,0,0,0,
0,0,1,0,0,1,0,1,0,0,
0,0,0,0,0,0,1,0,1,0,
0,0,0,0,0,0,0,1,0,1,
0,0,0,0,0,0,0,0,1,0};
intg0[10][10]={0};
inti,j,x,front,rear,s,n;
inta,b;
intflag[10]={0};
intq[10];
n=9;
关键点为:
for(i=5;
i++)//关键点检索
g0[10][10]=g[10][10];
g0[i][i+1]=0;
g0[i+1][i]=0;
flag[i]=1;
q[1]=i;
front=1;
rear=1;
while(front<
=rear)
{
x=q[front];
front++;
for(j=1;
if((flag[j]==0)&
(g[x][j]==1))
{
rear++;
q[rear]=j;
flag[j]=1;
}
if(rear<
=n-1)
{printf("
%d"
i);
}//广度优先循环搜索判断关键点,不符合条件记录输出。
printf("
桥为:
for(a=6;
a<
a++)//桥检索
g0[10][10]=g[10][10];
g0[a][a+1]=0;
g0[a+1][a]=0;
flag[a]=1;
q[1]=a;
front=1;
rear=1;
while(front<
for(b=1;
b<
b++)
if((flag[b]==0)&
(g[x][b]==1))
q[rear]=b;
flag[b]=1;
}
n-1)
%d——%d"
a,a+1);
getch();
关键点为:
678
6——77——88——9
六、矩阵
inti,j,n,k,n1,s,s0,s1,x,y,p;
intg[20][20];
intb[20];
k=0;
{k++;
for(j=i;
n-i;
{g[i][j]=k;
g[j][i]=k;
for(j=n-i-1;
i;
{g[n-i-1][j]=k;
g[j][n-i-1]=k;
{for(j=0;
j++)printf("
%d"
g[i][j]);
s0=0;
n1=n+n-2;
i++)b[i]=0;
for(i=n;
n+n-1;
i++)b[i]=1;
while(b[0]==0)
{s1=1;
x=1;
y=1;
=n1;
if(b[i]==0)x++;
elsey++;
s1=s1+g[x][y];
p=1;
j=2;
while((p)&
(j<
s1))
{if(s1%j==0)p=0;
elsej++;
if(p)s0++;
if(b[s1])s0++;
j=n1;
while(b[j]==0)j--;
s1=0;
while(b[j]==1)
{s1++;
b[j]=0;
j--;
b[j]=1;
s1--;
k=n;
=s1;
b[k]=1;
k--;
s0);
七、骑士问题
{inti,k,m,n,top,x,y,w,q,x0,y0;
intdx[9]={0,1,2,2,1,-1,-2,-2,-1};
intdy[9]={0,-2,-1,1,2,2,1,-1,-2};
intstack[1000];
intg[100][100]={0};
%d,%d,%d"
n,&
x0,&
y0);
while((n%2==1)&
((x0+y0)%2==1))
{printf("
inputerror"
g[x0][y0]=1;
x=x0;
y=y0;
top=0;
while(top<
n*n-1)
if(k>
9)
{k=stack[top];
top--;
g[x][y]=0;
x=x-dx[k];
y=y-dy[k];
{w=x+dx[k];
q=y+dy[k];
if((w>
=1)&
(w<
=n)&
(q>
(q<
(g[w][q]==0))
{x=w;
y=q;
top++;
g[x][y]=1;
stack[top]=k;
k=0;
%d%d"
x,y);
=top;
{x=x+dx[stack[i]];
y=y+dy[stack[i]];
--%d%d"
八、士兵排队
{intx,y,i,i1,j,k,s,s1,n,p,j1,j2;
intq[100];
intg[7][7]={0,0,0,0,0,0,0,
0,0,0,0,0,0,1,
0,0,0,0,1,1,0,
0,0,0,0,0,0,0,
0,1,0,0,0,1,0,
0,1,0,1,0,0,1,
0,0,0,1,0,0,0};
n=6;
k=9;
j1=1;
(j1<
=n))
{s=0;
{s1=0;
for(j=1;
j++)s1=s1+g[j][i];
if(s1==0)
{s++;
j2=i;
if(s==0)
error1"
p=0;
elseif(s>
1)
error2"
else{q[j1]=j2;
j1++;
i++)g[i][j2]=1;
i++)g[j2][i]=0;
if(p)for(i=1;
q[i]);
九、HUFFMAN树编码
stdlib.h"
intmain()
inti,i0,i1,j,j1,j0,n,n1,n2,cmin1,cmin,s,k,p;
charstr[30]={"
wabcddeacefgfg"
};
inttree[52][13]={0};
inth[27]={0};
intd[27];
intcode[27][21];
str[0]=13;
p);
=str[0];
h[str[i]-96]++;
n=0;
=26;
if(h[i]>
n++;
tree[n][1]=h[i];
d[n]=i;
if(n<
=p){s=1;
n1=p;
else
{n1=n-p;
n2=n1%(p-1);
if(n2>
0)n1=n+(p-1)-n2;
s=1+(n1-p)/(p-1);
n2=n1;
=s;
n2++;
cmin1=0;
=p;
{cmin=1000;
for(k=1;
k<
n2;
k++)
if((tree[k][0]==0)&
(tree[k][1]<
cmin))
{j1=k;
cmin=tree[k][1];
cmin1=cmin1+cmin;
tree[n2][2+p]=j1;
tree[j1][2]=n2;
tree[j1][0]=1;
tree[n2][1]=cmin1;
for(k=0;
=20;
code[i][k]=-1;
{i0=i;
i1=tree[i][2];
k=21;
while(i1!
=0)
{k--;
for(j1=3;
j1<
3+p;
j1++)
if(tree[i1][j1]==i0)code[i][k]=j1-3;
i0=i1;
i1=tree[i1][2];
d[i]+96);
k=1;
while(code[i][k]==-1)k++;
for(j1=k;
code[i][j1]);
getchar();
system("
PAUSE"
十、最长公共子串
{inti,j,cmax,j1;
chara[100]={"
wabcdefghijk"
charb[100]={"
wabcyefghi"
charg[100][100]={0};
a[0]=11;
b[0]=9;
cmax=0;
=a[0];
=b[0];
if(a[j]==b[i])
{g[i][j]=g[i-1][j-1]+1;
if(g[i][j]>
cmax)
{j1=j;
cmax=g[i][j];
g[i][j]=0;
%d\n"
cmax);
for(i=j1-cmax+1;
=j1;
a[i]);
Efghi
十一、迷宫问题
#defineM5//行数
#defineN7//列数
intk,top,x,y,w,q,p,i;
intdx[9]={0,1,1,1,0,-1,-1,-1,0};
intdy[9]={0,-1,0,1,1,1,0,-1,-1};
//charb[100];
//chara[100];
charstack[100];
//栈的最多储存元素
intflag[20][20]={0};
intcount;
//计数
intg[M+1][N+1]={0,0,1,1,1,1,0,0,
1,0,1,1,0,0,0,1,
1,0,0,1,1,1,0,1,
0,0,1,1,1,1,0,1,
0,1,0,1,1,1,0,0,
1,1,1,0,0,0,0,1};
g[0][0]=1;
//从第1行第1列开始
k=0;
x=0;
y=0;
while(p)
k++;
if(k>
8)//八个方向
{k=stack[top];
top--;
g[x][y]=0;
x=x-dx[k];
y=y-dy[k];
{w=x+dx[k
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 报告 doc