太原理工大学数据结构实验二

太原理工大学数据结构实验二
太原理工大学数据结构实验二

本科实验报告

课程名称:数据结构(C语言版)实验项目:实验二树

实验地点:软件楼110

专业班级:计科1402

学号:2014006935

学生姓名:陈志棚

指导教师:孟亮

2015年12月22日

}

七、[程序运行结果]

太原理工大学 物理化学(一)试卷一答案

太原理工大学 物理化学(一)试卷一答案 一.填空题 1. 最高温度 2. PVm/(RT) 真实气体对理想气体的偏差程度 1 3. 绝热可逆或循环过程 4. -726.6KJ.mol-1 5. 3.16Kpa 6. PB=KxX B 稀溶液中的溶质 7. 混合前后分子的受力情况不变 8. ..()c T P n B V n ?? 9. A B a b y z Y Z μ+μ=μ+μ 10. ()()ln B P pg g RT P θB B μ=μ+ 11. = > > 12. 降温 加压 13. 纯物质的g s g 14. 浓度较低时,随浓度增大而增大;达一定浓度后,又随浓度增大而减小 15. 1.9V 0.5V 二.证:(1)设 S=f(P,V),则有 ( )()()()()()(),()1()()V p V V P P V V P V p V P V P S S dS dP dV P V S T S T dp dV T P T V Q dS T C C S S T T T T C C T T dS dP dV T P T V δ??=+??????=+????=??==????= +??据得代入式得 (2)对于理想气体,PV=nRT

22 ()()ln ln V P T V T P nR P u T P T V nR V Cv T Cp T dS dP dV T P T V Cvd p Cpd V ??Ω==???==?∴=+=+得证。 三.解:1mol 理想气体, Cp m=52R Cv,m=32 R 1 1222(298)100298()(/2)m P P S S K n J K K P T P θ θθθ-==?=????????→(1)绝热可逆()外恒定绝热 (1)绝热可逆膨胀 1 21111221115/315/32120,0,1005,3()298()225.8/2 Q S S S J K P T P T P P T T K K P P γγ γθγθγ-----=?===?== ===据得 21,212 ,21,21121(ln ln 0)3()1(225.8298)900.42 5()1(225.8298)1500.72 ()[1500.7100(225.8298)]5719.3p m v m p m T P S nC nR T T P W U nC T T R J J H nC T T R J J G H S T T J J ?=+==?=-=?-=-?=-=?-=-?=?--=--?-=或据求

(完整版)数据结构实验报告全集

数据结构实验报告全集 实验一线性表基本操作和简单程序 1 .实验目的 (1 )掌握使用Visual C++ 6.0 上机调试程序的基本方法; (2 )掌握线性表的基本操作:初始化、插入、删除、取数据元素等运算在顺序存储结构和链表存储结构上的程序设计方法。 2 .实验要求 (1 )认真阅读和掌握和本实验相关的教材内容。 (2 )认真阅读和掌握本章相关内容的程序。 (3 )上机运行程序。 (4 )保存和打印出程序的运行结果,并结合程序进行分析。 (5 )按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果 实验代码: 1)头文件模块 #include iostream.h>// 头文件 #include// 库头文件------ 动态分配内存空间 typedef int elemtype;// 定义数据域的类型 typedef struct linknode// 定义结点类型 { elemtype data;// 定义数据域 struct linknode *next;// 定义结点指针 }nodetype; 2)创建单链表

nodetype *create()// 建立单链表,由用户输入各结点data 域之值, // 以0 表示输入结束 { elemtype d;// 定义数据元素d nodetype *h=NULL,*s,*t;// 定义结点指针 int i=1; cout<<" 建立一个单链表"<> d; if(d==0) break;// 以0 表示输入结束 if(i==1)// 建立第一个结点 { h=(nodetype*)malloc(sizeof(nodetype));// 表示指针h h->data=d;h->next=NULL;t=h;//h 是头指针 } else// 建立其余结点 { s=(nodetype*) malloc(sizeof(nodetype)); s->data=d;s->next=NULL;t->next=s; t=s;//t 始终指向生成的单链表的最后一个节点

数据结构实验答案1

重庆文理学院软件工程学院实验报告册 专业:_____软件工程__ _ 班级:_____软件工程2班__ _ 学号:_____201258014054 ___ 姓名:_____周贵宇___________ 课程名称:___ 数据结构 _ 指导教师:_____胡章平__________ 2013年 06 月 25 日

实验序号 1 实验名称实验一线性表基本操作实验地点S-C1303 实验日期2013年04月22日 实验内容1.编程实现在顺序存储的有序表中插入一个元素(数据类型为整型)。 2.编程实现把顺序表中从i个元素开始的k个元素删除(数据类型为整型)。 3.编程序实现将单链表的数据逆置,即将原表的数据(a1,a2….an)变成 (an,…..a2,a1)。(单链表的数据域数据类型为一结构体,包括学生的部分信息:学号,姓名,年龄) 实验过程及步骤1. #include #include #include #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define ElemType int #define MAXSIZE 100 /*此处的宏定义常量表示线性表可能达到的最大长度*/ typedef struct

{ ElemType elem[MAXSIZE]; /*线性表占用的数组空间*/ int last; /*记录线性表中最后一个元素在数组elem[ ]中的位置(下标值),空表置为-1*/ }SeqList; #include "common.h" #include "seqlist.h" void px(SeqList *A,int j); void main() { SeqList *l; int p,q,r; int i; l=(SeqList*)malloc(sizeof(SeqList)); printf("请输入线性表的长度:"); scanf("%d",&r); l->last = r-1; printf("请输入线性表的各元素值:\n"); for(i=0; i<=l->last; i++) { scanf("%d",&l->elem[i]); } px(l,i); printf("请输入要插入的值:\n");

太原理工大学遥感原理与应用实验指导书

《遥感原理与应用》实验指导书 矿业工程学院 测绘科学与技术系

实验一、遥感图像几何校正(2学时)实验二、遥感图像辐射增强(2学时)实验三、遥感图像非监督分类(2学时)

实验一、遥感图像几何校正(2学时)

原理与方法简介遥感影像由于遥感平台位置和运动状态变化、地形起伏、地球表面曲率、大气折射、地球自转等诸多因素的影响而产生与地面目标位置和(或)形状方面的不相一致的几何畸变,通过一定的数学算法,使这种畸变消除或接近消除,这就是几何校正。常用的几何校正计算方法主要有以下三种: 1)邻域法(Nearest neighbor )——将最接近的像元值赋予输出像元(图1.1); Figure1.1Nearest Neighbor 邻域法优点:极值和一些细节不会丢失,对植被分类、查找具线性特征的边界或侦测湖水的混浊度和温度是重要的。该方法适用于分类之前,计算速度快,适合于具有定性和定量特点的专题图像研究。 其缺点是:从较大的栅格重采样到较小栅格时会出现阶梯状斜线;可能会丢失或重复一些数值;用于线形专题图(如道路、水系)可能引起线状网络数据断开或出现裂隙。 2)双线性内插法(bilinear interpolation )——利用二次样条函数计算2×2窗口中的4个像元值并赋予输出像元(图1.2)。 Figure1.2Bilinear Interpolation 113V dy D V V V m +?-= 224V dy V V Vn +?-=

m m n V dx D V V Vr +?-=或:i i i i i i i r V D y D x D V W V ??-?-==∑∑==41241))((W i ——权重因子 Δx i ,Δy i ——r 点与i 点的坐标变化 V i ——i 像元值 双线性内插法的优点是:图像较平滑,不会出现阶梯现象,空间精度较高,常用于需要改变像元大小的场合,如SPOT/TM 的融合。 其缺点是:由于像元作过平均计算,相当于低通滤波(Low-frequency convolution )的效果,边界平滑,某些极值会丢失。 3)立方卷积内插法(Cubic convolution )——利用三次函数计算4×4窗口中的像素值并赋予输出像素(图1.3) 。 Figure 1.3Cubic Convolution 类似于双线性内插,只是所用窗口为4*4,而非2*2,即对16个像元作平均运算而得出输出像元的数据文件值。 ]} 2)2,2([*)2,2(]1)2,1([*)2,1()]2,([*)2,(]1)2,1([*)2,1({4 1--++-+++ --++-+++ -+-++ +-+--+-=∑=n j i d f n j i V n j i d f n j i V n j i d f n j i V n j i d f n j i V V i r 其中:i=int(x r ),j=int(y r ) d(i ,j)——(i ,j)和(x r ,y r )坐标距离 V(i ,j)——(i ,j)像元值 V r ——输出像元数据文件值

javaEE实验报告

西安科技大学《JAVAEE框架开发技术》 实验报告 学院:计算机科学与技术学院 专业及班级:软件工程1202班 学号: 12 姓名:_ 黄子斌

2015年12 目录 实验一 struts基础实验........................................错误!未定义书签。 1. 实验类型..............................................错误!未定义书签。 2. 实验目的..............................................错误!未定义书签。 3. 实验要求..............................................错误!未定义书签。 4. 实验内容..............................................错误!未定义书签。 1. 文件的配..........................................错误!未定义书签。 2. 文件配置..........................................错误!未定义书签。 3. Action的实现.....................................错误!未定义书签。 4. 运行结果..........................................错误!未定义书签。实验二持久化层hibernate .....................................错误!未定义书签。 1. 实验类型..............................................错误!未定义书签。 2. 实验目的..............................................错误!未定义书签。 3. 实验要求..............................................错误!未定义书签。 4. 实验内容..............................................错误!未定义书签。 1. 文件配置..........................................错误!未定义书签。 2. 实体类和映射文件..................................错误!未定义书签。 3. 运行结果..........................................错误!未定义书签。实验三 SSM整合实验...........................................错误!未定义书签。 1. 实验类型..............................................错误!未定义书签。 2. 实验目的..............................................错误!未定义书签。 3. 实验要求..............................................错误!未定义书签。 4. 实验内容..............................................错误!未定义书签。 1. 文件配置..........................................错误!未定义书签。 2. 文件配置.........................................错误!未定义书签。

数据结构实验报告

数据结构实验报告 一.题目要求 1)编程实现二叉排序树,包括生成、插入,删除; 2)对二叉排序树进行先根、中根、和后根非递归遍历; 3)每次对树的修改操作和遍历操作的显示结果都需要在屏幕上用树的形状表示出来。 4)分别用二叉排序树和数组去存储一个班(50人以上)的成员信息(至少包括学号、姓名、成绩3项),对比查找效率,并说明在什么情况下二叉排序树效率高,为什么? 二.解决方案 对于前三个题目要求,我们用一个程序实现代码如下 #include #include #include #include "Stack.h"//栈的头文件,没有用上 typedefintElemType; //数据类型 typedefint Status; //返回值类型 //定义二叉树结构 typedefstructBiTNode{ ElemType data; //数据域 structBiTNode *lChild, *rChild;//左右子树域 }BiTNode, *BiTree; intInsertBST(BiTree&T,int key){//插入二叉树函数 if(T==NULL) { T = (BiTree)malloc(sizeof(BiTNode)); T->data=key; T->lChild=T->rChild=NULL; return 1; } else if(keydata){ InsertBST(T->lChild,key); } else if(key>T->data){ InsertBST(T->rChild,key); } else return 0; } BiTreeCreateBST(int a[],int n){//创建二叉树函数 BiTreebst=NULL; inti=0; while(i

数据结构实验二11180

理工学院实验报告 系部计算机系班级学号 课程名称数据结构实验日期 实验名称链表的基本操作成绩 实验目的: (1)掌握线性表的链式存储结构的特点; (2)掌握线性表的基本操作:初始化、插入、删除、查找数据元素等运算在链式存储结构上的实现。 实验条件:计算机一台,vc++6.0 实验容与算法思想: 容: 建立一有序的链表,实现下列操作: 1.把元素x插入表中并保持链表的有序性; 2.查找值为x的元素,若找到将其删除; 3.输出表中各元素的值。 算法思想:先创建并初始化一个顺序表(void init_linklist(LinkList)),通过循环,输入一串数据void CreateFromTail(LinkList L);创建主函数;编写算法,完成子函数(查找locate,插入insList,删除DelList,输出output)模块;调用子函数,完成实验要求 运行结果:

附:源程序: #include #include #define OK 1 #define ERROR 0 typedef char ElemType; typedef struct Node { ElemType data; struct Node* next; }Node,*LinkList; void init_linklist(LinkList *l) { *l=(LinkList)malloc(sizeof(Node)); (*l)->next=NULL; } void CreateFromTail(LinkList L) { Node *r, *s; char c; int flag =1; r=L; while(flag) { c=getchar(); if(c!='$') {

数据结构实验报告图实验

图实验一,邻接矩阵的实现 1.实验目的 (1)掌握图的逻辑结构 (2)掌握图的邻接矩阵的存储结构 (3)验证图的邻接矩阵存储及其遍历操作的实现 2.实验内容 (1)建立无向图的邻接矩阵存储 (2)进行深度优先遍历 (3)进行广度优先遍历 3.设计与编码 MGraph.h #ifndef MGraph_H #define MGraph_H const int MaxSize = 10;

template class MGraph { public: MGraph(DataType a[], int n, int e); ~MGraph(){ } void DFSTraverse(int v); void BFSTraverse(int v); private: DataType vertex[MaxSize]; int arc[MaxSize][MaxSize]; int vertexNum, arcNum; }; #endif MGraph.cpp

#include using namespace std; #include "MGraph.h" extern int visited[MaxSize]; template MGraph::MGraph(DataType a[], int n, int e) { int i, j, k; vertexNum = n, arcNum = e; for(i = 0; i < vertexNum; i++) vertex[i] = a[i]; for(i = 0;i < vertexNum; i++) for(j = 0; j < vertexNum; j++) arc[i][j] = 0; for(k = 0; k < arcNum; k++) {

数据结构实验二

洛阳理工学院实验报告 系部计算机系班级学号姓名 课程名称数据结构实验日期 实验名称链表的基本操作成绩 实验目的: (1)掌握线性表的链式存储结构的特点; (2)掌握线性表的基本操作:初始化、插入、删除、查找数据元素等运算在链式存储结构上的实现。 实验条件:计算机一台,vc++6.0 实验内容与算法思想: 内容: 建立一有序的链表,实现下列操作: 1.把元素x插入表中并保持链表的有序性; 2.查找值为x的元素,若找到将其删除; 3.输出表中各元素的值。 算法思想:先创建并初始化一个顺序表(void init_linklist(LinkList)),通过循环,输入一串数据void CreateFromTail(LinkList L);创建主函数;编写算法,完成子函数(查找locate,插入insList,删除DelList,输出output)模块;调用子函数,完成实验要求 运行结果:

附:源程序: #include #include #define OK 1 #define ERROR 0 typedef char ElemType; typedef struct Node { ElemType data; struct Node* next; }Node,*LinkList; void init_linklist(LinkList *l) { *l=(LinkList)malloc(sizeof(Node)); (*l)->next=NULL; } void CreateFromTail(LinkList L) { Node *r, *s; char c; int flag =1; r=L; while(flag) { c=getchar(); if(c!='$') {

太原理工大学软件工程实验报告

本科实验报告 课程名称:软件工程导论 实验项目:教务管理系统之子系统—学院课程安排报告 实验地点: 专业班级:学号: 学生姓名: 指导教师: 2015年5 月15 日

项目说明 教务管理系统之子系统——学院课程安排 1.系统简介 每个学期的期中,学校教务处会分类向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务要求给出各门课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。 假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。2.限定条件 (1)原则上,每位教师每学期主讲的课程门数不超过2门。 (2)严格限制:每位教师每年教学工作量不得低于300,不得超过600。 (3)本学期出现严重教学事故的教师不能承担下各学期的主讲任务。 (4)本系统的输入项至少包括:教务处布置的教学计划和工作量计算子系统、学院教师自报的授课计划和学院制定的有关授课限制条件。 (5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)。 附工作量计算子系统中的课堂教学工作量计算方法(简化计算): 1.单班课计划学时*1.0 双班课计划学时*1.3 三班课计划学时*1.6 四班课计划学时*2.0 2.双语教学 计划学时*合班系数*2.0 3.精品课程 国家级精品课程计划学时*合班系数*1.5 省级精品课程计划学时*合班系数*1.1

数据结构实验报告2

数据结构实验报告 二.程序设计相关信息 (1)实验题目:编写一个程序algo2-3.cpp,实现双链表的各种基本运算,并在此基础上设计一个主程序完成如下功能: 1.初始化双链表h; 2.依次采用尾插法插入a,b,c,d,e元素; 3.输出双链表h; 4.输出双链表h长度; 5.输出双链表h是否为空; 6.判断双链表h的第3个元素; 7.输出元素‘a’的位置; 8.在第4个元素位置上插入‘f’元素; 9.输出双链表h; 10.删除L的第3个元素; 11.输出双链表h; 12.释放双链表h。 (2)实验目的:熟悉双链表的基本操作并掌握尾插法建表。 (3)算法描述或流程图

(4)源代码 #include #include

typedef struct DNode { char data; struct DNode *next; struct DNode *prior; }DNode,DLinkList; void initlist(DLinkList *&h) { h=(DLinkList*)malloc(sizeof(DLinkList)) ; h->next=NULL; h->prior=NULL; } void destroylist(DLinkList *&h) { DLinkList *p=h,*q=p->next; while(q!=NULL) {free(p); p=q; q=p->next; } free(p); } int getelem(DLinkList *h,int i,char &e) {int j=0; DLinkList *p=h; while(jnext; } if(p==NULL) return 0; else { e=p->data; return 1; } } int listempty(DLinkList *h) { return(h->next==NULL&&h->prior==NULL); } int listlength(DLinkList *h) { DLinkList *p=h;int n=0; while(p->next!=NULL) {n++; p=p->next; } return (n);

数据结构实验报告

姓名: 学号: 班级: 2010年12月15日

实验一线性表的应用 【实验目的】 1、熟练掌握线性表的基本操作在顺序存储和链式存储上的实现。、; 2、以线性表的各种操作(建立、插入、删除、遍历等)的实现为重点; 3、掌握线性表的动态分配顺序存储结构的定义和基本操作的实现; 4、通过本章实验帮助学生加深对C语言的使用(特别是函数的参数调用、指针类型的 应用和链表的建立等各种基本操作)。 【实验内容】 约瑟夫问题的实现:n只猴子要选猴王,所有的猴子按1,2,…,n编号围坐一圈,从第一号开始按1,2…,m报数,凡报到m号的猴子退出圈外,如此次循环报数,知道圈内剩下一只猴子时,这个猴子就是猴王。编写一个程序实现上述过程,n和m由键盘输入。【实验要求】 1、要求用顺序表和链表分别实现约瑟夫问题。 2、独立完成,严禁抄袭。 3、上的实验报告有如下部分组成: ①实验名称 ②实验目的 ③实验内容:问题描述:数据描述:算法描述:程序清单:测试数据 算法: #include #include typedef struct LPeople { int num; struct LPeople *next; }peo; void Joseph(int n,int m) //用循环链表实现 { int i,j; peo *p,*q,*head; head=p=q=(peo *)malloc(sizeof(peo)); p->num=0;p->next=head; for(i=1;inum=i;q->next=p;p->next=head; } q=p;p=p->next; i=0;j=1; while(i

太原理工大学web实验报告资料

本科实验报告 课程名称:Web开发实用技术基础 实验项目:HTML语言 网页程序设计Javascript Request与Response对象的应用 Application与Session对象的应用 实验地点:实验室211 专业班级:学号: 学生姓名: 指导教师: 2015年11月5日

学院名称学号实验成绩 学生姓名专业班级实验日期 课程名称Web开发实用技术基础实验题目HTML语言 一.实验目的和要求 1.掌握常用的HTML语言标记; 2.利用文本编辑器建立HTML文档,制作简单网页。 3.独立完成实验。 4.书写实验报告书。 二.实验内容 1.在文本编辑器“记事本”中输入如下的HTML代码程序,以文件名sy1.html保存,并在浏览器中运行。(请仔细阅读下列程序语句,理解每条语句的作用) 源程序清单如下: Example

welcome to you


A simple HTML document

Welcome to the world of HTML This is a simple HTML document.It is to give you an outline of how to write HTML file and how the markup tags work in the HTML file Following is three chapters
Following is items of the chapter two

(完整word版)太原理工大学期末试卷1_物理化学

考试类型: 太原理工大学 物理化学(一) 试卷A 适用专业: 考试日期: 时间: 120 分钟 共 4 页 一、填空题(每小题 2分,共30分) 1.临界温度是气体能够液化的 ,超过此温度无论加多大压力均不能使气体液化。 2.压缩因子Z 的定义为Z = ,Z 的大小反映出 ; 对理想气体,在任何温度压力下,Z = 。 3.使一过程的?S = 0,应满足的条件是 。 4.25℃时,1 mol CH 3OH(l) 在等容条件下完全燃烧放热725.4 kJ ,则25℃时CH 3OH(l) 的标准 摩尔燃烧焓 ?c H = 。 5.25℃时水的蒸气压力为3.17 kPa ,若有一个甘油水溶液中甘油的摩尔分数为0.002(甘油为 不挥发性溶质),则溶液的蒸气压力为 。 6.亨利定律的数学表达式之一为???????????????;其适用条件为 。 7.理想液态混合物的微观模是 。 8.多组分均相系统中,组分B 的偏摩尔体积定义为V B ===def ????? ??????。 9.已知等温等压下化学反应:aA+bB == yY+zZ ,则该反应的平衡条件若用化学势 ???????????。 10.理想气体混合物中任一组分B 的化学势表达式为: 。 11.1mol 水在101325Pa 、100℃下向真空蒸发为同温同压下的水蒸气,则该过程的 ΔG 0,?S 0,?H 0。(选填>,= 或< ) 12.反应 2NO(g) + O 2(g) == 2NO 2(g) 是放热的, 当反应在某温度、压力下达平衡时,若使平衡 向右移动。则应采取的措施是: 或 。 13.方程2 ln RT H dT p d m ?=可适用于 。 14.电解质溶液的电导率随浓度变化的规律为 。 15.设阳极和阴极的超电势均为0.7V ,电极的平衡电极电势均为1.20V ,则阳极电势为 ,阴极电势为 。

数据结构实验二-

实 验 报 告 一、实验目的 1) 加深对图的表示法和图的基本操作的理解,并可初步使用及操作; 2) 掌握用图对实际问题进行抽象的方法,可以解决基本的问题; 3) 掌握利用邻接表求解非负权值、单源最短路径的方法,即利用Dijkstra 算法求最短 路径,同时掌握邻接表的建立以及使用方法,能够解决相关的问题; 4) 学会使用STL 中的map 抽象实际问题,掌握map ,List,,priority_queue 等的应 用。 二、实验内容与实验步骤 (1) 实验内容: 使用图这种抽象的数据结构存储模拟的欧洲铁路路线图,通过Dijkstra 算法求出欧洲旅行最少花费的路线。该实验应用Dijkstra 算法求得任意两个城市之间的最少路费,并给出路费最少的路径的长度和所经过的城市名。 (2) 抽象数据类型及设计函数描述 1) 抽象数据类型 class City : 维护一个城市的信息,包括城市名name ,是否被访问过的标记visted ,从某个城市到达该城市所需的总费用total_fee 和总路径长度total_distance ,求得最短路径后路径中到达该城市的城市名from_city 。 class RailSystem : 用邻接表模拟欧洲铁路系统,该邻接表使用数据结构map 实现,map 的key-value 课程名称:数据结构 班级: 实验成绩: 实验名称:欧洲旅行 学号: 批阅教师签字: 实验编号:实验二 姓名: 实验日期:2013 年6 月 18 日 指导教师: 组号: 实验时间:

值对的数据类型分别为string和list<*Service>,对应出发城市名和该城市与它能 够到达的城市之间的Service链表。 class Service: 为铁路系统模拟了两个城市之间的直接路线,包括两个城市之间直接到达的费用 fee,两城市之间的直接距离distance。 部分设计函数描述 ●RailSystem(const string& filename) 构造函数,调用load_services(string const &filename)函数读取数据 ●load_services(string const &filename) 读取传入的文件中的数据并建立上述两个map以模拟欧洲铁路路线图 ●reset(void) 遍历cities图,初始化所有城市的信息:visted未访问,total_distance最大 值,total_fee费用最大值,from_city为空 ●~RailSystem(void) 析构函数,用delete将两个map中所有使用new操作符开辟的空间删除 ●void output_cheapest_route(const string& from, const string& to, ostream& out); 输出两城市间的最少费用的路径,调用calc_route(string from, string to)函 数计算最少费用 ●calc_route(string from, string to) 使用Dijkstra算法计算from和to两个城市间的最少费用的路径 (3)采用的存储结构 1)map > outgoing_services 用来保存由一个城市出发可以直接到达的城市名及这两个城市之间的路径信息。 2)list 以service为指针的list表,保存两城市间的路径。 3)map cities 用来保存所有城市信息,通过城市名查找该城市有关信息。 4)priority_queue, Cheapest> candidates 存储候选的遍历城市,City*是优先队列存储的对象类型,vector是该对象的向量集合,Cheapest是比较规则。 三、实验环境 操作系统:Windows 8 调试软件:Microsoft visual studio 2012 上机地点:综合楼311 机器台号:笔记本

太原理工大学操作系统实验报告课案

课程名称:操作系统B 实验项目:操作系统实验实验地点:逸夫楼 专业班级:软件14班 学生姓名:学号:2014 指导教师:张辉 2016年12 月 2 日

目录............................................................ 错误!未定义书签。实验一几种操作系统的界面 (3) 一.目的和要求 (3) 二.内容 (3) 三.程序代码 (4) 四.运行结果 (4) 实验二进程调度程序设计 (5) 一、目的和要求 (5) 二、示例 (6) 程序清单 (9) 运行结果 (9) 实验三存储管理程序设计 ............... 错误!未定义书签。 一、目的和要求.................................... 错误!未定义书签。 二、提示................................................ 错误!未定义书签。三.流程图............................................ 错误!未定义书签。程序代码................................................ 错误!未定义书签。运行结果................................................ 错误!未定义书签。实验感想.................................................... 错误!未定义书签。参考资料.................................................... 错误!未定义书签。

数据结构实验二链表

云南大学数学与统计学实验教学中心 实 验 报 告 一、实验目的: 通过实验掌握线性链表的建立及基本操作,巩固课堂内容,练习其程序的设计与实现。 由于顺序存储结构的操作相对比较简单,而且在前期课程《高级语言程序设计》中使用得也多, 所以本次实验侧重于对线性链表存储结构上的操作及应用的实现。 二、实验内容: 本实验包含以下几个子问题: 1、 采用表尾挂入法建立一个以LA 为头指针的单链表: 2、 3、 就地逆转以LB 为头指针的单链表,即得到如下形式的单链表: 4、 将逆转后的LB 表接到LA 表之尾并构成循环链: LA 二、实验要求: 1. 每一个子问题用一个C 语言的函数来完成。 2. 对每一个子问题的结果用一个打印函数输出其结果以验证程序运行是否正确。 打印函数必须是公共的,即:用一个输出函数,既可以对单链表又可对循环链表实现,

打印输出。 3.用主函数调用各个子函数,以完成题目要求。 4.程序设计时应尽量考虑通用性,若改变题给数据仍能实现要求。 [实现提示]: .第3小题题中的“就地逆转”即只允许引入除LB外的两个工作指针来实现。 即可以以循环方式从链表首部起逐个地修改各个结点的指针:从NEXT(向后)指针改变为PRIOR(向前)的指针,并注意保存搜索时的指针。 三、实验环境 Windows win7 程序设计语言C 四、实验过程(请学生认真填写): 1. 实验设计的(各)流程图:

2. 程序设计的代码及解释(必须给出): /*----------------------------------LinkList-------------------------------------*/ /*基本要求---------------------------------------------------------------------*/ /*采用表尾挂入法建立一个以LA为头指针的单链表--------------*/ /*采用表首插入法建立一个以LB为头指针的单链表.---------------*/ /*就地逆转以LB为头指针的单链表,即得到如下形式的单链表.*/ /*将逆转后的LB表接到LA表之尾并构成循环链-------------------*/ /*每一个子问题用一个C语言的函数来完成--------------------------*/ /* 打印函数必须是公共的-------------------------------------------------*/ /*-------------------------------------Start-------------------------------------*/ /*--------------------------------------------------------------------------------*/ #include #include #include #define LIST_SIZE 10 /*--------------------------------------------------------------------------------*/ /*定义链表类型--------------------------------------------------------------*/ typedef struct LNode{ int data; struct LNode *next; }LinkList; /*--------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------*/ main(){ LinkList *InitialList1(); LinkList *InitialList2(); LinkList *reverse(LinkList *L); void connect(LinkList *L1,LinkList *L2); void putList(LinkList *L); LinkList *L1,*L2; L1=InitialList1(); L2=InitialList2(); printf("The original of list L1:\n"); putList(L1); printf("The original of list L2:\n");

相关文档
最新文档
item content