数据结构课程设计报告

发布 2022-10-05 19:16:28 阅读 9333

2024年1月

控制台。1.停车场管理3

2.个人**号码查询系统6

3.排序运用12

4.“火烧连营”问题16

5.管道铺设施工的最佳方案选择19

mfc1.停车场管理27

2.个人**号码查询系统29

3.排序运用34

总结。自我总结38

实习题目一停车场管理。

问题描述】设停车场是一个可停放 n 辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n 辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。

设计思想】以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟。

管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息,汽车牌照号以及到达或离去的时刻。

对每一组输入的数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。

需另设一个栈,临时停放为给要离去的汽车让路而从停车场推出来的汽车,也用顺序存。

储结构实现。输入数据按到达或离去的时刻有序。栈中每个元素表示一辆汽车,包含两个数。

据项:汽车的牌照号码和进入停车场的时刻。

设计表示】**实现】

/主函数的实现。

#include ""

#include ""

#include ""

#include ""

int main(int argc, char* ar**)

cout<<"请输入停车场的容量:";

int n,num,time;

cin>>n;

char a;

cout<<"请输入停车场车辆的情况:">a>>num>>time;

seqstack s1;

seqstack s2;

linkedqueue q;

cout<<"车牌为 "

if (a=='d')

return 0;

运行结果】实习题目二个人**号码查询系统。

问题描述】人们在日常生活中经常需要查找某个人或某个单位的**号码,本实验将实现一个简单。

的个人**号码查询系统,根据用户输入的信息(例如姓名等)进行快速查询。

基本要求:1) 在外存上,用文件保存**号码信息;

2) 在内存中,设计数据结构存储**号码信息;

3) 提供查询功能:根据姓名实现快速查询;

4) 提供其他维护功能:例如插入、删除、修改等。

设计思想】由于需要管理的**号码信息较多,而且要在程序运行结束后仍然保存**号码信息,所以**号码信息采用文件的形式存放到外存中。在系统运行时,需要将**号码信息从文。

件调入内存来进行查找等操作,为了接收文件中的内容,要有一个数据结构与之对应,可以。

设计如下结构类型的数组来接收数据:

const int max=10;

struct telenumber

string name; /姓名。

string phonenumber; /固定**号码。

string mobilenumber; /移动**号码。

string email; /电子邮箱。

tele[max];

为了实现对**号码的快速查询,可以将上述结构数组排序,以便应用折半查找,但是,在数组中实现插入和删除操作的代价较高。如果记录需频繁进行插入或删除操作,可以考虑。

采用二叉搜索树组织**号码信息,则查找和维护都能获得较高的时间性能。更复杂地,需。

要考虑该二叉搜索树是否平衡,如何使之达到平衡。

设计表示】**实现】

/结构体的实现。

#include

#include ""

#include

using namespace std;

struct telenumber;

istream &operator>>(istream &is,telenumber &c使编译器识别重载的运算符。

ostream &operator<<(ostream &os,telenumber &c);

struct telenumber

string name;

string phonenumber;

string mobilenumber;

string email;

friend istream &operator>>(istream &is,telenumber &c); 重载》

friend ostream &operator<<(ostream &os,telenumber &c); 重载<<

tele[10];

istream &operator>>(istream &is,telenumber &c)

is>>>输入结构体。

return is;

ostream &operator<<(ostream &os,telenumber &c) /输出结构体。

os<<

/二叉搜索树的实现。

#include ""

struct bstnode //telenumber(e)

telenumber data;

bstnode *left,*right;

bstnode():left(null),right(null){}

bstnode(const telenumber d,bstnode *l=null,bstnode *r=null)

:data(d),left(l),right(r){}

~bstnode(){

void setdata(telenumber d)

telenumber getdata()

class bst

public:

bst():root(null){}

~bst(){

bool insert(const telenumber& e1)

bool remove(const string x)

bool modify(const string x,bstnode *&ptr);

bstnode *getroot()

bstnode *search(const string x,bstnode *ptr);

private:

bstnode *root;

bool insert(const telenumber& e1,bstnode *&ptr);

bool remove(const string x,bstnode *&ptr);

/插入到二叉搜索树。

数据结构课程设计报告

东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...

数据结构课程设计报告

设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...

数据结构课程设计报告

河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...