数据结构实测验完整答案Word文档下载推荐.docx

上传人:b****1 文档编号:6113313 上传时间:2023-05-06 格式:DOCX 页数:25 大小:20.01KB
下载 相关 举报
数据结构实测验完整答案Word文档下载推荐.docx_第1页
第1页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第2页
第2页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第3页
第3页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第4页
第4页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第5页
第5页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第6页
第6页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第7页
第7页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第8页
第8页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第9页
第9页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第10页
第10页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第11页
第11页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第12页
第12页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第13页
第13页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第14页
第14页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第15页
第15页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第16页
第16页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第17页
第17页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第18页
第18页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第19页
第19页 / 共25页
数据结构实测验完整答案Word文档下载推荐.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据结构实测验完整答案Word文档下载推荐.docx

《数据结构实测验完整答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据结构实测验完整答案Word文档下载推荐.docx(25页珍藏版)》请在冰点文库上搜索。

数据结构实测验完整答案Word文档下载推荐.docx

inputothermima\n"

);

for(i=1;

i<

=n;

i++)

{

scanf("

%d"

&

mima);

s=(Node*)malloc(sizeof(Node));

s->

bianhao=i;

mima=mima;

r->

next=s;

r=s;

}

next=l->

next;

returnl;

}

DeleNode(intm,intn,Node*l)

inti,j;

Node*p,*q;

p=l;

i=1;

while(i<

=n)

for(j=1;

j<

=m-1;

j++)p=p->

q=p->

p->

next=q->

chuduidrenshi%d,qimimashi%d\n"

q->

bianhao,q->

i++;

m=q->

mima;

free(q);

return;

main()

Node*l;

intm,n;

inputnumberofpeopleandthefirstmima\n"

%d,%d"

n,&

m);

l=CreatFromTail(n);

DeleNode(m,n,l);

2.回文判断

方法1:

#include"

stdio.h"

chara[100],c;

intlen;

inti,j,top;

i=0;

while((c=getchar())!

='

@'

a[i]=c;

for(j=0;

i;

j++)

%c"

a[j]);

top=i-1;

j=0;

while(top>

=0)

if(a[top]!

=a[j])

isnot"

top--;

j++;

is"

方法2:

#defineTRUE1

#defineFALSE0

#definestacksize100

#definequeuesize100

typedefstruct

charelem[queuesize];

intfront,rear;

}sequeue;

charelem[stacksize];

inttop;

}seqstack;

intEnterQueue(sequeue*q,charx)

if((q->

rear+1)%queuesize==q->

front)return(FALSE);

q->

elem[q->

rear]=x;

rear=(q->

rear+1)%queuesize;

return(TRUE);

chardelete(sequeue*q)

charx;

if(q->

rear==q->

x=q->

front];

front=(q->

front+1)%queuesize;

return(x);

intpush(seqstack*s,charx)

if(s->

top==stacksize-1)return(FALSE);

top++;

elem[s->

top]=x;

charpop(seqstack*s)

top==-1)return(FALSE);

else

x=s->

top];

top--;

charc;

intlen1=0,len2=0;

seqstack*s;

sequeue*q;

charx1,x2;

q=(sequeue*)malloc(sizeof(sequeue));

front=q->

rear=0;

&

'

EnterQueue(q,c);

len1++;

s=(seqstack*)malloc(sizeof(seqstack));

top=-1;

push(s,c);

len2++;

if(len1!

=len2)printf("

while(s->

top>

x1=pop(s);

x2=delete(q);

if(x1!

=x2){printf("

3.串操作(92页实习题1)

chars[100],t[100],r[100],c;

inti,j,k,m,len1,len2,len3;

gets(s);

gets(t);

len1=0;

while(s[len1]!

\0'

)len1++;

len2=0;

while(t[len2]!

)len2++;

len3=0;

k=0;

len1)

while((j<

len2)&

(s[i]!

=t[j]))

if(j>

=len2)

r[len3]=s[i];

m=0;

while((m<

len3)&

r[m]!

=r[len3])m++;

if(m==len3)printf("

%czaiszhongshoucichuxiandeweizhishi%d\n"

r[len3],i);

len3++;

for(k=0;

k<

len3;

k++)

r[k]);

}_

string.h"

#defineMaxlen100

typedefstruct{

charch[Maxlen];

}SString;

concat(SString*s,SStringt)

inti,flag;

if(s->

len+t.len<

=Maxlen)

for(i=s->

len;

s->

len+t.len;

ch[i]=t.ch[i-s->

len];

len+=t.len;

flag=1;

elseif(s->

len<

Maxlen)

Maxlen;

len=Maxlen;

flag=0;

elseflag=0;

return(flag);

len(SStrings)

return(s.len);

SubString(SString*sub,SStrings,intpos,intlen)

inti;

if(pos<

0||pos>

s.len||len<

1||len>

s.len-pos)

sub->

len=0;

return(0);

for(i=0;

ch[i]=s.ch[i+pos];

ch[i]='

;

len=len;

return1;

equal(SStrings,SStringt)

if(s.len!

=t.len)return0;

s.len&

t.len;

if(s.ch[i]!

=t.ch[i])return0;

StrIndex(SStrings,intpos,SStringt)

if(t.len==0)return0;

i=pos;

t.len)

if(s.ch[i]==t.ch[j]){i++;

j++;

else{i=i-j+1;

j=0;

=t.len)return(i-j);

elsereturn0;

SStrings,t,x,r={"

"

0};

SString*sub1,*sub2,*sub3;

inti,j,k;

sub1=(SString*)malloc(sizeof(SString));

sub2=(SString*)malloc(sizeof(SString));

sub3=(SString*)malloc(sizeof(SString));

gets(s.ch);

s.len=strlen(s.ch);

gets(t.ch);

t.len=strlen(t.ch);

/*SubString(sub1,s,1,1);

concat(&

r,*sub1);

SubString(sub1,s,2,1);

%s\n"

sub1->

ch);

r.ch);

*/

s.len)

SubString(sub1,s,i,1);

SubString(sub2,t,j,1);

t.len)&

!

equal(*sub1,*sub2))

=t.len)

r.len=strlen(r.ch);

r.len;

SubString(sub3,r,k,1);

%s%d\n"

sub3->

ch,StrIndex(s,0,*sub3));

4.151页实习题1

typedefstructBiNode

chardata;

structBiNode*Lchild,*Rchild;

}BiNode;

BiNode*creatBiTree()

BiNode*bt;

charch;

ch=getchar();

if(ch=='

.'

)bt=NULL;

bt=(BiNode*)malloc(sizeof(BiNode));

bt->

data=ch;

Lchild=creatBiTree();

Rchild=creatBiTree();

returnbt;

voidpreorder(BiNode*root)

if(root!

=NULL)

root->

data);

preorder(root->

Lchild);

Rchild);

voidmidorder(BiNode*root)

midorder(root->

voidsucorder(BiNode*root)

sucorder(root->

main()

BiNode*root;

root=NULL;

root=creatBiTree();

\nxianxu:

\n"

preorder(root);

\nzhongxu:

midorder(root);

\nhouxu:

sucorder(root);

#include<

stdio.h>

stdlib.h>

#defineMAX_VERTEX_NUM10/*最多顶点个数*/

#defineINFINITY32768/*最大权值,即:

无穷大*/

#defineTrue1

#defineFalse0

/*#defineError-1*//*出错*/

#defineOk1

/*假设顶点数据为整型*/

intvexs[MAX_VERTEX_NUM];

/*顶点向量*/

intarcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];

/*邻接矩阵*/

intvexnum,arcnum;

/*图的顶点数和弧数*/

}AdjMatrix;

/*(AdjacencyMatrixGraph)*/

intvisited[MAX_VERTEX_NUM];

/*访问标志数组*/

intCreateDN(AdjMatrix*G)/*创建一个有向网,且顶点递增存储*/

{inti,j,k,weight,v1,v2;

Pleaseinputgraph'

sarcnumandvexnum:

G->

arcnum,&

vexnum);

/*输入图的顶点数和弧数*/

vexnum;

G->

arcs[i][j]=INFINITY;

Pleaseinputvertex:

0,1,2,……"

vexs[i]=i;

/*scanf("

vexs[i]);

输入图的顶点*/

sarcs:

arcs_tail,arcs_headandweight"

arcnum;

k++)

{scanf("

%d,%d,%d"

v1,&

v2,&

weight);

/*输入一条弧的顶点及权值*/

/*i=LocateVex_M(G,v1);

j=LocateVex_M(G,v2);

*/

arcs[v1][v2]=weight;

/*建立弧*/

}

return(Ok);

voidDepthFirstSearch(AdjMatrixg,intv0)/*深度优先搜索邻接矩阵*/

{intvj;

%5d"

v0);

visited[v0]=True;

for(vj=0;

vj<

g.vexnum;

vj++)

if(!

visited[vj]&

g.arcs[v0][vj]!

=INFINITY)

DepthFirstSearch(g,vj);

}/*DepthFirstSearch*/

voidTraverseGraph(AdjMatrixg)/*对图g进行深度优先搜索*/

{intvi;

for(vi=0;

vi<

vi++)visited[vi]=False;

/*访问标志数组初始*/

vi++)/*调用深度遍历连通子图的操作*/

if(!

visited[vi])DepthFirstSearch(g,vi);

}/*TraverseGraph*/

{AdjMatrixgraph;

CreateDN(&

graph);

graph.vexnum;

{for(j=0;

%8d"

graph.arcs[i][j]);

TraverseGraph(graph);

×

#include<

conio.h>

#defineM10/*此头函数请不要删除*/

charname[15];

intscore;

}student;

voidCreatTable(studentstu[M+1],intn)/*createstudent'

sgradetable*/

{

pleaseinputthestudent'

sname\n"

%s"

stu[i].name);

sscore\n"

stu[i].score);

voidInssort(studentstud[M+1],intn)/*insertsort*/

for(i=2;

{

stud[0]=stud[i];

j=i-1;

while(stud[0].score<

stud[j].score)

stud[j+1]=stud[j];

j=j-1;

stud[j+1]=stud[0];

}/*endInssort*/

voidBubblesort(studentstud[M+1],intn)

studentstu;

inti,j=1;

n;

=n-j;

if(stud[i].score<

stud[i+1].score)

stu=stud[i];

stud[i]=stud[i+1];

stud[i+1]=stu;

voidprint(studentstu[M+1],intn)

inti=1,j=0;

%-15s"

%-5d"

stu[i].score);

%-5d\n"

i);

if(stu[i].score==stu[i-1].score)

i-j);

intn;

studenttable[M+1];

Pleaseinputthestudent'

snumber:

n);

CreatTable(table,n);

Inssort(table,n);

print(table,n);

*************************\n"

Bubblesort(table,n);

getch();

string.h>

#definemax_st_num40

{charname[15];

intflag;

}sname;

typedefsnamehtable;

voidcr

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2