欢迎来到天天文库
浏览记录
ID:70588912
大小:18.76 KB
页数:12页
时间:2021-11-23
《商品货架管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、西安邮电学院数据结构课内实验报告题目:商品货架管理院系名称:专业名称:班级:学生姓名:学号(8位):一.需求分析本程序的任务:设计一个商品货架管理系统,要求:(1):利用栈和队列去设计(2):栈顶的生产日期最早,栈底的最晚,上货架的时候,是生产日期较近的在较下的的位置。,必须按照由小到大的顺序输入(3):功能:要进行货架的周转二.概要设计1.功能模块图;push()函数的流程图:开始s1->top=-1;i=1i<size输入s1->goods[s1->top]s1?top
2、++s1->goods[s1->top].date<=Nreturns1->topi++真假break结束循环体语句真假Insert()函数的流程图:开始s2->top=-1;s1->top!=-1&&>s1->goods[s1->top].dates2->top++;输出,s1栈中商品出栈把s1中的商品信息传递到s2中s1->top--真假Po
3、p(s1);Pop(s2)把New的商品信息插入到s1中循环体语句returns1->top结束s2->top!=-1&&>s2->goods[s2->top].dates1->top++;输出s1->goods[s1->top].name出栈把s2中的商品信息传递到s1中s2->top--真假输出s2栈中商品进栈s1循环体语句Pop函数的流程图:s1->to
4、p!=-1输出s1栈中的信息s1->top--假真开始结束main()函数流程图:开始Top=push(&s1)输入要插入的信息<=N输出errorTop=Insert(&s1,New,&s2);Pop(s1)结束假真2.各个模块的功能描述。push()函数功能:往栈中输入信息Insert()函数功能:插入新的信息Pop()函数功能:输出栈中的信息。三.详细设计数据类型structinformation{charname[10];longdate;};t
5、ypedefstruct{structinformationgoods[size];inttop;}seqstack;intTOP;structinformationNew;seqstacks1,s2;伪码算法push():for(i=1;i<size;i++){s1->top++;scanf("%s%d",s1->goods[s1->top].name,&s1->goods[s1->top].
6、date);if(s1->goods[s1->top].date<=N)break;}Insert():s2->top=-1;for(;s1->top!=-1&&>s1->goods[s1->top].date;s1->top--){s2->top++;strcpy(s2->goods[s2->top].name,s1-&g
7、t;goods[s1->top].name);s2->goods[s2->top]=s1->goods[s1->top];}s1->top++;strcpy(s1->goods[s1->top].name,;s1->goods[s1->top].date=;for(;s2->top!=-1&&s2->goods[s2->
8、;top].date>=N;s2->top--){s1->top++;strcpy(s1->goods[s1->top].name,s2->goods[s2->top].name);s1->goods[s1->top].date=s2->goods[s2->top].date;}Pop():for(;s1->top!=-1;s1->top--)pri
9、ntf("%9s%10d",s1->goods[s1->top].name,s1->goods[s1->top].date);函数调用关系图:Insert();main();push();Pop();四.时间复杂度分析push()函数的时间复杂度为:O(s1->top);Insert()函数的时间复杂度为:O(2*s1->top+1);Pop()函
此文档下载收益归作者所有