《数据结构》课程设计
《数据结构》课程设计
目录1)课题描述 2)系统需求分析 3)总体设计 4)详细设计 5)实习总结与体会 一、问题描述 赵斌是一个信管专业的学生,大学四年顺利毕业了。在毕业季,他也像其他学子一样,投身于求职大军,投出一份又一份求职简历,在苦苦地等待之后,他接到了中国移动通信公司广东分司的面试通知书,通知他于本月1号10点到公司面试。当天,晴空万里,艳阳高照,他身着西装,高兴地早早来到公司楼下等待。10点钟整,他和其他新人一起,坐到公司的面试现场。他领取的一一份程序设计题:假如你是我公司一名客服技术人员,现请你选择自己熟悉的语言,来设计一个程序,管理客户向公司打进来的咨询电话。请事行分析析使用方法和工具,说明自己的思路方法,写一份完整的程序,并实例测试。 二、问题分析 假设中国移动通信公司广东分公司从早上起不断有客户打电话进来咨询。客户在客户人数众多时需要等待电话接通,约定的规定如下: a)若无正在接通以及排队的用户可以直接接通 b)若有等待正在接通的用户,可显示当前排队的用户数 c)可以查看正在排队的第一个用户号码 三、算法设计 系统功能模块划分与设计 四、源代码 //先在'C/C++Header File'中建立名为'LinkQueue.h'的头文件,在其中输入"1以上"的内容 #ifndef LinkQueue_H #define LinkQueue_H template<class DataType> struct Node { DataType data; Node<DataType>*next; }; template<class DataType> class LinkQueue { public: LinkQueue(); ~LinkQueue(); void EnQueue(DataType x); DataType DeQueue(); DataType GetQueue(); int Empty(); private: Node<DataType>*front,*rear; }; #endif; //"1以上" //再接着在'C++ Source File'中建立名为'LinkQueue_main.cpp'的源文件,在其中输入"3以上"的内容 #include"LinkQueue.h" template<class DataType> LinkQueue<DataType>::LinkQueue() { Node<DataType>*s=NULL; s=new Node<DataType>; s->next=NULL; front=rear=s; } template<class DataType> LinkQueue<DataType>::~LinkQueue() { Node<DataType>*p=NULL; while(front!=NULL) { p=front->next; delete front; front=p; } } template<class DataType> voidLinkQueue<DataType>::EnQueue(DataType x) { Node<DataType>*s=NULL; s=new Node<DataType>; s->data=x; s->next=NULL; rear->next=s;rear=s; } template<class DataType> DataTypeLinkQueue<DataType>::DeQueue() { Node<DataType>*p=NULL; int x; if(rear==front)throw"位置"; p=front->next; x=p->data; front->next=p->next; if(p->next==NULL)rear=front; delete p; return x; } template<class DataType> DataTypeLinkQueue<DataType>::GetQueue() { if(front!=rear) return front->next->data; } template<class DataType> int LinkQueue<DataType>::Empty() { if (front==rear) return 1; else return 0; } //"2以上" //再接着在'C++ Source File'中建立名为'LinkQueue_main.cpp'的源文件,在其中输入"3以上"的内容 #include<iostream> using namespace std; #include"lqueue.cpp" voidmain() { LinkQueue<int> Q; if(Q.Empty()) cout<<"没有排队的用户!"<<endl; else cout<<"还有用户在排队哦!"<<endl; intq; intcount=0; intn=5; for(inti=1;i<=n;i++) { cout<<"输入排队的用户:"<<endl; cin>>q; count++;
Q.EnQueue(q);} try { Q.EnQueue(q); } catch(char*wrong) { cout<<wrong<<endl; }
cout<<"查看第一个用户:"<<endl; cout<<Q.GetQueue()<<endl; cout<<"共有"<<count<<"个用户在等待!"<<endl; cout<<"完成该用户的业务,删除该用户."<<endl; try { Q.DeQueue(); } catch(char*wrong) { cout<<wrong<<endl; }
cout<<"查看第一个用户:"<<endl; cout<<Q.GetQueue()<<endl; cout<<"nnn"<<endl; }//3以上 //后在'LinkQueue_main.cpp'编译运行
五、程序运行结果
六、实习总结与体会 两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程。“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础通过这次课程设计,本人在多方面都有所提高。培养和提高独立工作能力,巩固了数据结构的课程内容,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。在这次设计过程中,体现出自己独立完成能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。在此感谢我们的易学明老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪这次课程设计的每个细节,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |