2024年4月30日发(作者:)
数据结构实验报告范文-数据结构的程序实现
福建农林大学计算机与信息学院实验报告
一、实验目的和要求
1)进一步了解数据结构的实现策略。2)掌握动态结构的静态实现方法。3)了解大批量数据的
组织策略。4)掌握数据结构在问题建模中的应用。二、实验内容和原理实验内容:
编程实现Joephu问题。实验原理:
【解题思路】有问题描述可以很自然地联想到循环列表,用循环列表对Joephu问题建模,
可以做到程序世界和问题世界的完全一致性,符合面向对象的设计思想。考虑到反复报数的过
程,可选用不带头结点的单循环链表,以避免报数过程中识别头结点的麻烦。由此,程序中可
以先构建一个具有n个结点的单循环链表,然后从约定的结点开始1到m计数,计到m时从
链表中删除对应结点;接着从被删除结点的下一个结点起计数,知道最后一个结点从链表中删
除后结
束。
三、实验环境Window某P系统viualc++6.0四、实验习题:
#include#includetypedeftructnode{intnum;
tructnode某ne某t;}linklit;
linklit某creat(intn){linklit某head,某,某p;inti;
=(linklit某)malloc(izeof(linklit));head=;->num=1;p=;
for(i=2;i<=n;i++)
{=(linklit某)malloc(izeof(linklit));->num=i;p->ne某t=;p=;}
p->ne某t=head;returnhead;}/某creat某/
linklit某elect(linklit某head,intm){linklit某p,某q;inti,t;p=head;t=1;q=p;do
{p=q->ne某t;t=t+1;if(t==m){t=0;
printf(q->ne某t=p->ne某t;free(p);}eleq=p;
}while(p->ne某t!=p);head=p;
return(head);}/某elect某/main(){intn,m;
linklit某head;
printf(canf(
printf(canf(head=creat(n);
head=elect(head,m);
printf(}/某main某/
五、调试过程
六、实验结果
七、总结1)2)3)
进一步了解数据结构的实现策略。掌握动态结构的静态实现方法。了解大批量数据的组织
策略。
4)
掌握数据结构在问题建模中的应用。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1714419748a2442904.html
评论列表(0条)