- 博客(53)
- 收藏
- 关注
原创 数据结构课程设计之航空订票系统
题目:航空订票系统 功能:通过此系统可以录入、查询、修改航班情况,完成用户订票和退票功能并且可以保存客户和航班的资料。 1, 录入航班信息。 没个航班的信息包括航班号,起飞、抵达城市,座位总数,剩余座位数。数据存储在txt 文件中采用线性表的链式结构。 2, 加载航班和客户信息。 可以自动加载保存在txt 文件中的航班和客户的信息。 3, 查询航班。 可以通过输入航班号,查询该航班的
2015-12-24 16:31:10
14437
3
原创 期末回回首~
数据结构学期感悟 如果要用一个字来描述我心目中的数据结构,那么一定是——难! 如果要用一个词来说说老师,答案也毋庸置疑——标新立异!(而且好玩哈哈) 实际上,大一结束后的我完全不知道下学期将要学什么来替代C++,因为我觉得C++已经很难了,真的是万万没想到,出了这门算法与数据结构。一开始我觉得它就是C语言的升级版,因为老师还专门让我们可以先补补C语言,于是对新
2015-12-18 08:53:55
1070
1
原创 【项目 - B-树的基本操作】
问题及代码: 实现B-树的基本操作。基于序列{4, 9, 0, 1, 8, 6, 3, 5, 2, 7}完成测试。 (1)创建对应的3阶B-树b,用括号法输出b树。 (2)从b中分别删除关键字为8和1的节点,用括号法输出删除节点后的b树。 代码: #include #include #define MAXM 10 //定义B-树的最大的
2015-12-18 08:49:29
457
原创 第16周外部排序之【项目2】败者树归并模拟
编写程序,模拟改者树实现5路归并算法的过程。 设有5个文件,其中的记录的关键字如下: F0:{17,21,∞} F1:{5,44,∞} F2:{10,12,∞}F3: {29,32,∞} F4: {15,56,∞} 要求将其归并为一个有序段并输出。 假设这些输入文件数据保存在内存中,输出结果也不必输出到文件,而是在屏幕上输出即可。 代码: #include #define
2015-12-18 08:39:42
423
原创 第16周外部排序【项目-1】置换-选择算法模拟
编写程序,模拟置换-选择算法生成初始归并段的过程。 设大文件中的记录共有18个: 15 4 97 64 17 32 108 44 76 9 39 82 56 31 80 73 255 68 内存工作区可以容纳5个记录,输出产生的归并段文件。 在模拟中,输入文件数据和输出的归并段数据均直接置在内存中即可。 代码: #include #include #include #i
2015-12-18 08:35:25
624
原创 第16周【项目4 - 英文单词的基数排序】
【项目 - 英文单词的基数排序】 设计一个基数排序的算法,将一组英文单词,按字典顺序排列。假设单词均由小写字母或空格构成,最长的单词有MaxLen个字母。 代码: #include #include #include #define MaxLen 9 //单词的最大长度 #define Radix 27 //基数
2015-12-18 08:31:54
415
原创 第16周【项目3 - 归并排序算法的改进】
问题及代码: #include #include #include #include #define MinLength 64 //最短分段长度 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 { KeyType
2015-12-18 08:20:55
235
原创 第16周 项目2大数据集上排序算法性能的体验
main.cpp: 1.测试用的主控程序——main.cpp #include #include #include #include #include "sort.h" void GetLargeData(RecType *&R, int n) { srand(time(0)); R=(RecType*)malloc(sizeof(RecTyp
2015-12-14 17:21:47
329
原创 第16周 项目1 之快速排序
问题及代码: 1.以第一个元素为例 #include #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 { KeyType key; //关键字项 InfoType data;
2015-12-14 17:04:10
349
原创 第16周 项目1之希尔排序
1.希尔排序 #include #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 { KeyType key; //关键字项 InfoType data; //其他数据项
2015-12-14 16:50:55
270
原创 第16周 外部查找之验证算法(1)直接插入排序
问题及代码: 1.直接插入排序 #include #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 { KeyType key; //关键字项 InfoType data;
2015-12-14 16:27:35
310
原创 第15周项目2++
问题及代码: (2)若处理冲突的方法采用链地址法,请设计算法,输出哈希表,并计算成功情况和不成功情况下的平均查找长度。 #include #include #include #define N 15 #define M 26 typedef struct node //定义哈希链表的节点类型 { char *key; struct node *
2015-12-07 16:47:41
287
原创 第15周【项目2 - 用哈希法组织关键字】
问题及代码: #include #include #define N 15 #define M 26 int H(char *s) { return ((*s-'a'+1)%M); } int main() { char *s[N]= {"if", "while", "for", "case", "do", "break", "else", "st
2015-12-07 16:40:43
267
原创 第15周 项目1-验证算法
问题及代码: #include #define MaxSize 100 //定义最大哈希表长度 #define NULLKEY -1 //定义空关键字值 #define DELKEY -2 //定义被删关键字值 typedef int KeyType; //关键字类型 typedef char * InfoType;
2015-12-07 16:27:28
308
原创 第14周项目3-二叉排序树
问题及代码: #include #include typedef int KeyType; typedef char InfoType[10]; typedef struct node //记录类型 { KeyType key; //关键字项 InfoType data;
2015-11-30 17:07:03
375
原创 第13周-项目4-项目4 - 利用遍历思想求解图问题
问题及代码: graph.h: #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 100 //最大顶点个数 #define INF 32767 //INF表示∞ typedef int InfoType; //以下定义邻接矩阵类型 typedef struc
2015-11-30 16:45:05
285
原创 第14周 项目2-分块查找
问题及代码: #include #define MAXL 100 //数据表的最大长度 #define MAXI 20 //索引表的最大长度 typedef int KeyType; typedef char InfoType[10]; typedef struct { KeyType key; //KeyType为关键字的数据
2015-11-30 16:34:51
302
原创 第14周 项目1-数据结构例程——线性表的折半查找
问题及代码: 一:折半查找 #include #define MAXL 100 typedef int KeyType; typedef char InfoType[10]; typedef struct { KeyType key; //KeyType为关键字的数据类型 InfoType data; //
2015-11-30 16:19:21
428
原创 第13周 项目3 - 图遍历算法实现
问题及代码: graph.h代码: #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 100 //最大顶点个数 #define INF 32767 //INF表示∞ typedef int InfoType; //以下定义邻接矩阵类型 typedef str
2015-11-23 17:00:32
426
原创 第13周 项目2-操作用邻接表存储的图
问题及代码: 利用下图作为测试用图,输出结果。 #include #include #include "graph.h" //返回图G中编号为v的顶点的出度 int OutDegree(ALGraph *G,int v) { ArcNode *p; int n=0; p=G->adjlist[v].firstarc; while (
2015-11-23 16:28:27
279
原创 第13周 项目1-图基本算法库
问题及代码: graph.cpp代码: #include #include #include "graph.h" //功能:由一个反映图中顶点邻接关系的二维数组,构造出用邻接矩阵存储的图 //参数:Arr - 数组名,由于形式参数为二维数组时必须给出每行的元素个数,在此将参数Arr声明为一维数组名(指向int的指针) // n - 矩阵的阶数 // g
2015-11-23 16:21:00
383
原创 第11周项目1-验证算法(4)哈夫曼树
问题及代码: #include #include #define N 50 //叶子结点数 #define M 2*N-1 //树中结点总数 //哈夫曼树的节点结构类型 typedef struct { char data; //结点值 double weight; //权重 int parent; /
2015-11-16 17:05:08
267
原创 第11周 项目1-验证算法(3)线索化二叉树(中序)
问题及代码: btree.cpp及btree.h代码详情参考二叉树算法库, main.cpp代码如下: #include #include #include "btree.h" BTNode *CreateBT1(char *pre,char *in,int n) /*pre存放先序序列,in存放中序序列,n为二叉树结点个数, 本算法执行后返回构造的二叉链的根结点指针*/
2015-11-16 16:55:11
275
原创 第11周项目1-(2)二叉树构造算法验证
问题及代码: btree.cpp,btree.h代码参考二叉树算法库 main.cpp代码如下: #include #include #include "btree.h" BTNode *CreateBT1(char *pre,char *in,int n) /*pre存放先序序列,in存放中序序列,n为二叉树结点个数, 本算法执行后返回构造的二叉链的根结点指针*/ {
2015-11-16 16:43:52
308
原创 第11周 项目1-验证算法(1)层次遍历算法的验证
问题及代码: btree.h及btree.cpp代码详情见:【二叉树算法库】 main.cpp: #include #include "btree.h" void LevelOrder(BTNode *b) { BTNode *p; BTNode *qu[MaxSize]; //定义环形队列,存放节点指针 int front,rear; //定
2015-11-16 16:26:04
284
原创 第十周 项目3-利用二叉树遍历思想解决问题
问题及代码: /* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目3.cbp 作 者:马笑媛 完成日期:2015年11月9日 版 本 号:v1.0 问题描述:假设二叉树采用二叉链存储结构存储,分别实现以下算法,并在程序中完成测试: (1)计算二叉树节点个数;
2015-11-09 17:13:20
302
原创 第十周 项目2-二叉树遍历的递归算法
问题及代码: btree.h及btree.cpp参考二叉树算法库 main.cpp: #include #include "btree.h" void PreOrder(BTNode *b) //先序遍历的递归算法 { if (b!=NULL) { printf("%c ",b->data); //访问根节点 P
2015-11-09 16:40:53
472
原创 第十周 项目1 二叉树算法库
问题及代码: btree.h代码: #ifndef BTREE_H_INCLUDED #define BTREE_H_INCLUDED #define MaxSize 100 typedef char ElemType; typedef struct node { ElemType data; //数据元素 struct node *
2015-11-06 08:48:40
315
原创 第九周项目4-广义表算法库及应用(2)
问题及代码: #include #include "glist.h" int atomnum(GLNode *g) //求广义表g中的原子个数 { if (g!=NULL) { if (g->tag==0) return 1+atomnum(g->link); else re
2015-11-02 17:17:03
532
原创 第九周项目4-广义表算法库及应用(1)
问题及代码: glist.h代码: #ifndef GLIST_H_INCLUDED #define GLIST_H_INCLUDED typedef char ElemType; typedef struct lnode { int tag; //节点类型标识 union { ElemType
2015-11-02 17:02:21
498
原创 第九周 项目3-稀疏矩阵的三元组表示的实现及应用
问题及代码: tup.h代码: #ifndef TUP_H_INCLUDED #define TUP_H_INCLUDED #define M 6 #define N 7 #define MaxSize 100 //矩阵中非零元素最多个数 typedef int ElemType; typedef struct { int r;
2015-10-30 08:53:51
255
原创 第九周 项目2 - 对称矩阵压缩存储的实现与应用
问题及代码:/* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目1.cbp 作 者:马笑媛 完成日期:2015年10月30日 版 本 号:v1.0 问题描述:用压缩形式存储对称矩阵,实现下面的操作并测试 void Init(int *&b);//为N阶对称矩
2015-10-30 08:47:11
341
原创 第九周 项目1-猴子选大王(数组)
问题及代码: /* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目1.cbp 作 者:马笑媛 完成日期:2015年10月30日 版 本 号:v1.0 问题描述:一群猴子,编号是1,2,3 …m,这群猴子(m个)按照1-m的顺序围坐一圈。从第1只开始数,每数
2015-10-30 08:40:50
255
原创 第八周 项目1-建立顺序串的算法库
问题及代码: sqString.h代码如下: #ifndef SqString_H_INCLUDED #define SqString_H_INCLUDED #define MaxSize 100 //最多的字符个数 typedef struct { char data[MaxSize]; //定义可容纳MaxSize个字符的空间
2015-10-30 08:25:08
232
原创 第七周 项目6 停车场模拟
问题及模拟: #include #include #define N 3 /*停车场内最多的停车数*/ #define M 4 /*候车场内最多的停车数*/ #define Price 2 /*每单位时间停车费用*/ typedef struct { int CarNo[N];
2015-10-29 20:58:03
329
原创 第七周项目5-排队看病模拟
问题及代码: #include #include typedef struct qnode { int data; struct qnode *next; } QNode; /*链队结点类型*/ typedef struct { QNode *front,*rear; } QuType; /*链队类型*
2015-10-27 17:15:22
244
原创 第七周 项目4 队列数组
问题及代码: liqueue.h #ifndef LIQUEUE_H_INCLUDED #define LIQUEUE_H_INCLUDED typedef int ElemType; typedef struct qnode { ElemType data; struct qnode *next; } QNode; //链队数据结点类型定义
2015-10-26 16:47:53
234
原创 第七周项目3 负数把正数赶出去
问题及代码: /* *Copyright(c) 2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:test.cpp *作 者:马笑媛 *完成日期:2015.10.23 *版 本 号:v1.0 * *问题描述:设从键盘输入一整数序列a1,a2,…an,试编程实现:当ai>0时,ai进队,
2015-10-23 09:17:19
245
原创 第七周项目二建立链队算法库
问题及代码: main.cpp代码: //main.cpp #include #include "liqueue.h" int main() { ElemType e; LiQueue *q; printf("(1)初始化链队q\n"); InitQueue(q); printf("(2)依次进链队元素a,b,c\n");
2015-10-23 08:49:28
282
原创 第七周项目1 建立顺序环形队列算法库
问题及代码: /* *Copyright(c) 2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:test.cpp *作 者:马笑媛 *完成日期:2015.10.23 *版 本 号:v1.0 * *问题描述: 定义顺序环形队列存储结构,实现其基本运算,并完成测试。 *输入描述: *程序输出: */ s
2015-10-23 08:32:57
316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人