计算机的几个专业的数据结构考试内容有所不一样,好像上机还是什么不太一样。软件工程那边的老师还要求学会C++读取文件,后面我也会附上读取文件的相关代码,其余的实验上机、上机考试代码等等在资料区下载即可。

里面含有你们期待的上机实验和上机考试的代码:(附题目)
上机考试还是有点东西的,每个人可能随机抽的五道题目不一样,或者顺序不一样,总题量可能十几道题,每个人随机抽五道。。。。。。
知道我资料区那些资料含金量的学弟学妹不用我解释了吧哈哈哈,先看看文件内容:
里面还有一些比较重要的程序,不过都是课程相关,不是考试就是实验相关,绝不拖泥带水,有需求去资料区下载吧!

上机自己实验部分:

上机自己考试部分:

先给三个报告参考一下如何验优:







三、课程设计(综合实验)总结或结论

验优报告二




1.循环链表void creat(pointer &head)//创建链表
{head = new Node;Node *p,*q;p=head;int i=1;while(i<=n){q=new Node;p->next = q;q->data =i;q->next = NULL;p=q;i++;}p->next = head->next;//循环链表
}
void leave(pointer &head,int m)
{Node *s,*p,*q;s=head->next;p=head;while(s->next !=s){int i=1;while(i<m)//找到第m个数{p=s;s=s->next;i++;}q=s;p->next = q->next;s=q->next;cout<<q->data;delete(q);//删除第m个数}cout<<s->data<<endl;//输出最后一个数
}
2.顺序结构
for(int j=0;j<n;j++){ a[j]=j+1; }
int k=1;int i=-1;
while(k<=n)
{for(int j=0;j<m;){i=(i+1)%n;if(a[i]!=0)//跳过已出列的数的位置j++;}cout<<a[i];
a[i]=0;//出列位置的数记为0
k++;}

(4)实验结果
输入8和4。链表结构和顺序结构输出结果都为:48521376。

 Btree creat()//创建二叉树
{ int c;cin>>c;Btree T;
if(c==0)T=NULL;
else
{T = new Btnode;T->data =c;
T->Lchild = creat();T->Rchild  = creat();}
return T;}
void Preorder(Btnode *T)//先序遍历
{if(T){cout<<T->data<<" ";Preorder(T->Lchild);Preorder(T->Rchild);}
}
void inorder(Btnode *T)//中序遍历
{if(T){inorder(T->Lchild);cout<<T->data<<" ";inorder(T->Rchild);}
}
void postorder(Btnode *T)//后序遍历
{if(T){postorder(T->Lchild);postorder(T->Rchild);cout<<T->data<<" ";}
}

(4)实验结果
输入1 2 3 4 0 0 0 0 0,先序遍历:1 2 3 4。中序遍历:4 3 2 1。后序遍历:4 3 2 1。


void build_adjlist(Adjlist& ga)//创建邻接表
{int n, e, i, j;EdgeNode *p, *q;cout << "请输入顶点数:";cin >> n;for (int m = 1; m <= n; m++)//初始化邻接表{ga[m].vertex = m;ga[m].link = NULL;}cout << "请输入边数:";cin >> e;for (int k = 0; k<e; k++)//读入顶点对{cout << "读入顶点对:";cin >> i;cin >> j;p = new struct EdgeNode;p->adjvex = j;p->next = ga[i].link;ga[i].link = p;q = new struct EdgeNode;q->adjvex = i;q->next = ga[j].link;ga[j].link = q;}}
深度优先遍历:
void dfs(Adjlist g, int v0, int visited[])
{//从v0出发深度优先遍历图g,g以邻接表为储存结构cout << v0;visited[v0] = 1;//标志v0已访问EdgeNode *p;p = new EdgeNode;p = g[v0].link;while (p != NULL){if (visited[p->adjvex] == 0){dfs(g, p->adjvex, visited);}elsep = p->next;//回溯,找v0的下一个邻接点}}
广度优先遍历:
void bfs(Adjlist g, int v0, int visited[])
{int Q[MAX];int v;int f, r;//f,r分别为队列的头尾指针
visited[v0] = 1;cout << v0;EdgeNode *p;p = new EdgeNode;p = g[v0].link;
f = r = 0;do{while (p != NULL){v = p->adjvex;if (visited[v] == 0)//若v未被访问,v入队 {r++;Q[r] = v;cout << v;visited[v] = 1;}p = p->next;//找某一个顶点的所有邻接点并进队}if (f != r){f++;v = Q[f];p = g[v].link;}}while ((p != NULL) && (f != r));}

(4)实验结果
请输入顶点数:8;请输入边数:10;读入顶点对:1 2;读入顶点对:1 3;读入顶点对:2 4;读入顶点对:2 5;读入顶点对:3 6;读入顶点对:3 7;读入顶点对:4 8;读入顶点对:5 8;读入顶点对:6 8;读入顶点对:7 8;
深度优先遍历:13786524
广度优先遍历:13276548

(3)程序实现电话号码的处理:int Hash(long k)
{while(k){sum=sum+k%10;k=k/10;}m=sum%7;return m;}录入信息:void HashinsertChain(Link_list HST[],long key,string name,string address)
{n=Hash(key);if(HST[n]==NULL)//写入信息(顺序结构){p=new node();p->key=key;p->name=name;p->address=address;p->next=NULL;HST[n]=p;}else if(HST[n]!=NULL)//查找{s=HST[n];while(s->next!=NULL&&s->key!=key)s=s->next;if(s->key==key){cout<<s->name <<"已存在!"<<endl;return;}else//写入信息(解决冲突)写在链式结构中{p=new node();p->key=key;p->name=name;p->address=address;
p->next=NULL;s->next=p;}}}
查找:
void HashsearchChain(Link_list HST[],long key)//按照号码查找
{   n=Hash(key);q=HST[n];while(q!=NULL&&q->key!=key)q=q->next;if(q==NULL)cout<<"无此号码!"<<endl;elsecout<<"姓名:"<<q->name<<"  电话:"<<q->key<<"  地址:"<<q->address<<endl;}

(4)实验结果
1.添加数据
2.查找数据
3.删除数据
****4.显示所有数据

请选择要进行操作:1
依次输入姓名 电话号码 地址:gdk 56789 sjz
输入0返回主菜单,输入其他任意键退出系统!
0

1.添加数据
2.查找数据
3.删除数据
****4.显示所有数据

请选择要进行操作:1
依次输入姓名 电话号码 地址:sbc 38690 bd
输入0返回主菜单,输入其他任意键退出系统!
0

1.添加数据
2.查找数据
3.删除数据
****4.显示所有数据

请选择要进行操作:4
姓名:gdk 电话:56789 地址:sjz
姓名:sbc 电话:38690 地址:bd
输入0返回主菜单,输入其他任意键退出系统!

三、课程设计(综合实验)总结或结论

验优报告三:(这个实验内容和前面两个有区别,老版了,懂得都懂,我就不多说了)

这个只补充一个实验:

void manager()
{char key;string num;int time;cin>>key;cin>>num;cin>>time;switch(key){case'A'://到达{if(top<Max)//栈不满,进栈,即进入停车场{top++;stack[top].key = key;stack[top].num = num;stack[top].time = time;}else //栈满,在候车场等候,进队{r++;Q[r].key = key;Q[r].num = num;Q[r].time = time;}if((f-r)==0)//队空即进入了停车场{cout<<"进入停车场当前位置:"<<top<<endl;}elsecout<<"进入候车场当前位置:"<<(r-f)<<endl;break;}case'D'://离开{int n=top;while (stack[n].num!=num&&n!=0)//判断停车场内有无此车辆n--;if(n==0){cout<<"停车场内无此车辆"<<endl;}else{for(int i=n+1;i<=top;i++)//该车辆之后的车辆进入临时栈{stop++;s_stack[stop].key = stack[i].key;s_stack[stop].num = stack[i].num;
s_stack[stop].time=stack[i].time;}int hour1,hour2,minute1,minute2,t,money;//计算时长,计费hour1 = time/100;minute1=time%100;hour2 = stack[n].time/100;minute2 = stack[n].time%100;t = (hour1-hour2)*60+(minute1-minute2);if(t%60)money = (t/60+1)*10;elsemoney = (t/60)*10;cout<<"停车时间:"<<t<<"分"<<"消费:"<<money<<endl;while(stop!=0)//临时栈中的车辆按照之前的顺序进入停车场栈{stack[n].key = s_stack[stop].key;stack[n].num = s_stack[stop].num;stack[n].time = s_stack[stop].time;n++;stop--;}if(f!=r)//队不空,队首进入停车场栈{f++;stack[top].key = Q[f].key;stack[top].num = Q[f].num;stack[top].time = Q[f].time;cout<<"车辆"<<stack[top].num<<"由候车场进入停车场,进入时间为:"<<stack[top].time<<endl;}elsetop--;}}break;case'P':cout<<"停车场车数为:"<<top<<endl;break;case'W':cout<<"候车场车数为:"<<r-f<<endl;break;default:cout<<"ERROR"<<endl;break;}cout<<"是否继续操作?(Y/N)";char s;cin>>s;if(s=='N'){cout<<"欢迎下次使用";}if(s=='Y'){cout<<"输入A/D/P/W,车牌号,时间:";manager();}
}


笔者介绍:某智科卑微牛马,一项省级大创已结项,一项国家级大创和一项校级大创已成功立项,都交给小自己一届的学弟去做,参加的挑战杯项目在其余队友参加大创后也获得了省级优秀和国家级优秀结项。同时组织并担任了2022年挑战杯、两项互联网+、电子商务大赛、舞蹈机器人大赛、“创青春”青年创新创业大赛的队长,并参加过节能减排大赛、调研河北大赛、数学建模美赛、蓝桥杯省赛、机器人国赛等比赛若干,获得过舞蹈机器人一等、电子商务大赛二等、挑战杯三等、节能减排省一等、创新创业优秀个人、社会实践优秀个人等奖项。

程序下载说明:作者所有的实验、课设验收基本都是优,也不缺这几米,不过不想自己的文章或者作品烂大街,想留点门槛,应该是几米这样子,作品都是保证高质量的,给有需要的学弟学妹们学习,大部分还是免费的,因为一些大型的文件不好上传,故放在付费资料区下载,真的非常良心!!

数据结构课程设计实验验优参考(附数据结构上机实验、上机考试代码)相关推荐

  1. 校园导游系统数据结构课程设计(附完整代码)

    1 问题内容与目的要求 1.1 算法产生的背景: Floyd 算法又称为加点法.插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法.该算法名称以创始人之一.1978 年图灵奖获 ...

  2. 山东大学数据结构课程设计实验五(低风险出行系统)

    数据结构课程设计(五)--低风险出行系统 前言 题目要点 ①生成数据 ②要给定两种最短路解法 ③创立文件 ④模拟时间流动并与用户交互 代码讲解 源代码 写在最后 前言 数据结构课程设计第五题是每一个同 ...

  3. 数据结构课程设计报告(附代码)

    数据结构课程设计报告 一.实训目的 通过课程设计,学会运用数据结构知识,针对具体应用,自己设计合理数据结构,确定存储结构,并能设计具体操作算法,选择使用具体语言进行实现.掌握C++较复杂程序的组织和设 ...

  4. 数据结构最短路径例题_《数据结构课程设计》最短路径问题实验报告

    <<数据结构课程设计>最短路径问题实验报告>由会员分享,可在线阅读,更多相关<<数据结构课程设计>最短路径问题实验报告(17页珍藏版)>请在人人文库网上 ...

  5. c语言程序设计报告表达式求值,数据结构 课程设计表达式求值 实验报告

    <数据结构 课程设计表达式求值 实验报告>由会员分享,可在线阅读,更多相关<数据结构 课程设计表达式求值 实验报告(21页珍藏版)>请在人人文库网上搜索. 1.实验课程名称 级 ...

  6. 《数据结构课程设计》 活期储蓄管理系统 实验报告

    <数据结构课程设计> 题目1:活期储蓄管理系统   学生姓名 胡泳行 所在专业 信息管理与信息系统专业 所在班级 信管1134班 任课老师 易学明 实习时间 2015年 1月 4 日 指导 ...

  7. c语言单源最短路径问题实验报告,数据结构课程设计最短路径问题实验报告-20210320182652.docx-原创力文档...

    IMB standardization office[IMB 5AB- IMBK 08- IMB 2C] IMB standardization office[IMB 5AB- IMBK 08- IM ...

  8. c语言超市选址问题实验报告,数据结构课程设计-超市选址问题.doc

    数据结构 课程设计报告 设计题目:学校超市选址问题 专 业 计算机科学与技术 班 级 10计本2班 学 生 朱冬 学 号 联系方式 年 学期 问题描述 对于某一学校超市,其他各单位到其的距离不同,同时 ...

  9. c语言数据结构五子棋实验报告,数据结构课程设计-五子棋

    数据结构课程设计-五子棋 姓 名: 学 院: 计算机与通信学院 班 级: 通信工程 101 班 指导老师: 目录一.需求分析 31.1 开发背景 .32.2 功能简介 .3二.系统设计 42.1 函数 ...

最新文章

  1. 【Android 插件化】现有的针对插件化恶意应用的解决方案 | 插件化应用开发推荐方案
  2. Android补间动画笔记
  3. 笔记-中项案例题-2021年上-人力资源管理和沟通管理
  4. 预测数值型数据:回归源码分析(1)
  5. 流程图和布局套件模板
  6. 从“黑掉Github”学Web安全开发
  7. 基于javaweb的旅游管理系统旅行平台(springboot+ssm)
  8. 【实践1】Python调用搜狗语音,自制语音识别转文字生成字幕软件,并生成会议纪录。
  9. 真的来了!IO-Link无线-释放传感器/执行器巨大潜力的工业无线解决方案,设备远程监控新选择!(Part 3)
  10. python中的exifread库只要一张图片就能获取你的精确位置
  11. 戴尔笔记本无线网络无法连接
  12. CY3014 SLAVEFIFO
  13. java打印超市消费小票_Java-超市购物小票案例-详细介绍
  14. Deployer php自动部署,简单轻松部署你的项目 - Deployer
  15. 前端js获取图片大小 扩展名_前端获取图片存储大小的方法
  16. 2020-08-31
  17. python实现中文数字转为阿拉伯数字
  18. IPad 如何使用蓝牙鼠标
  19. 达观数据中标国信证券文档智能审阅项目
  20. MATLAB中安装YALMIP及CPLEX详细步骤

热门文章

  1. Jetson系列——罗技手柄F710模块
  2. 数学合集——杨子曰数学
  3. lame mp3 wav文件转mp3 单通道
  4. repeatation翻译_半导体专业术语翻译
  5. OpenCV实战系列:高通滤波器及其应用
  6. 同步发电机励磁调节实验原理_原来如此——理双馈异步发电机与同步发电机的性能和应用比较...
  7. 开启灯光就是近光吗_请问科目三考试刚开始的开大灯,是不是就是开近光灯?...
  8. 流量卡套餐解析:首月月租及套餐按天折算,这个你明白了吗?
  9. 江苏计算机等级考试vfp,江苏计算机等级考试二级vfp考试简介.doc
  10. 榜单下架、PK惩罚消失,直播平台不再躺赚