- 博客(55)
- 收藏
- 关注
原创 数据结构课程设计
1.头文件#ifndef JC_H_INCLUDED#define JC_H_INCLUDED#include #include #include #include#define MAXID 10#define MAXNAME 20#define MAXCOURSE 3/* 学生数据结构 */typedef struct node{
2015-12-24 16:08:43
1186
原创 数据结构期末总结
经过了十六周的视频学习、课堂指导、上机实践,数据结构课程总算是圆满结束了,感觉时间过得好快,学到的只是些皮毛而已。尽管如此,我的收获还是挺多的,起码水平相比学习之前有了很大的提升,一些奇特的编程方法也学会了很多。 从第一节课的翻转课堂开始,贺老师就告诉我们他的课堂与其他老师的课堂不同,是新一代的教学方式,就是翻转课堂嘛!虽然我现在也没搞懂翻转课堂是什么意思,但起码我体验到与一般课堂
2015-12-18 08:13:39
1024
1
原创 第15周 项目3—B-树的基本操作
#include #include #define MAXM 10 //定义B-树的最大的阶数typedef int KeyType; //KeyType为关键字类型typedef struct node //B-树结点类型定义{ int keynum;
2015-11-30 16:38:29
772
原创 第15周 项目2—用哈希法组织关键字(2)
(2)若处理冲突的方法采用链地址法,请设计算法,输出哈希表,并计算成功情况和不成功情况下的平均查找长度。#include #include #include #define N 15#define M 26typedef struct node //定义哈希链表的节点类型{ char *key; struct node *next;} LNode;type
2015-11-30 16:35:34
499
原创 第15周 项目2—用哈希法组织关键字
(1)若处理冲突的方法采用线性探测法,请设计算法,输出每个关键字对应的H(key),输出哈希表,并求成功情况下的平均查找长度。#include #include #define N 15#define M 26int H(char *s){ return ((*s-'a'+1)%M);}int main(){ char *s[N]= {"if", "while
2015-11-30 16:34:27
344
原创 第15周 项目1—(3)希尔排序
#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项,类型为InfoType}
2015-11-30 16:29:04
337
原创 第15周 项目1—(2)直接插入排序
#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项,类型为InfoType}
2015-11-30 16:26:28
356
原创 第15周 项目1—哈希表及其运算的实现
#include #define MaxSize 100 //定义最大哈希表长度#define NULLKEY -1 //定义空关键字值#define DELKEY -2 //定义被删关键字值typedef int KeyType; //关键字类型typedef char * InfoType; //其他数据类型
2015-11-30 16:24:36
524
原创 第12周 项目1—数据结构之自建算法库——图及其存储结构(邻接矩阵、邻接表)
1.头文件:graph.h,包含定义图数据结构的代码、宏定义、要实现算法的函数的声明;#ifndef GRAPH_H_INCLUDED#define GRAPH_H_INCLUDED#define MAXV 100 //最大顶点个数#define INF 32767 //INF表示∞typedef int InfoType;//以下定义邻
2015-11-16 16:47:24
563
原创 第12周 项目1—图基本算法库
1.头文件:graph.h,包含定义图数据结构的代码、宏定义、要实现算法的函数的声明;#define MAXV 100 //最大顶点个数#define INF 32767 //INF表示∞typedef int InfoType;//以下定义邻接矩阵类型typedef struct{ int no;
2015-11-09 16:34:45
453
原创 第11周 项目1—(二叉树的构造)
1.头文件:btree.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100typedef char ElemType;typedef struct node{ ElemType data; //数据元素 struct node *lchild; //指向左孩子
2015-11-06 09:13:08
366
原创 第11周 项目2— 用二叉树求解代数表达式
1.头文件:btree.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100typedef char ElemType;typedef struct node{ ElemType data; //数据元素 struct node *lchild; //指向左孩子
2015-11-02 17:01:15
412
原创 第11周 项目—1 (层次遍历算法)
1.头文件:btree.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100typedef char ElemType;typedef struct node{ ElemType data; //数据元素 struct node *lchild; //指向左孩子
2015-11-02 16:45:46
368
原创 第10周 项目3—(1)计算二叉树节点个数
1.头文件:btree.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100typedef char ElemType;typedef struct node{ ElemType data; //数据元素 struct node *lchild; //指向左孩子 struc
2015-10-30 09:31:00
664
原创 第10周 项目2—二叉树遍历的递归算法
1.头文件:btree.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100typedef char ElemType;typedef struct node{ ElemType data; //数据元素 struct node *lchild; //指向左孩子 str
2015-10-30 09:25:41
448
原创 第10周 项目1—二叉树算法库
1.头文件:btree.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100typedef char ElemType;typedef struct node{ ElemType data; //数据元素 struct node *lchild; //指向左孩子 struc
2015-10-30 09:20:24
418
原创 第9周 项目4—广义表算法库及应用
1.头文件:glist.h,包含定义稀疏矩阵的三元组表示数据结构的代码、宏定义、要实现算法的函数的声明;typedef char ElemType;typedef struct lnode{ int tag; //节点类型标识 union { ElemType data; //原子值
2015-10-23 08:57:30
591
原创 第9周 项目3—稀疏矩阵的三元组表示的实现及应用
1.头文件:tup.h,包含定义稀疏矩阵的三元组表示数据结构的代码、宏定义、要实现算法的函数的声明;#define M 6#define N 7#define MaxSize 100 //矩阵中非零元素最多个数typedef int ElemType;typedef struct{ int r; //行号
2015-10-23 08:51:53
534
原创 第9周 项目2—对称矩阵压缩存储的实现和应用
用压缩形式存储对称矩阵,实现下面的操作并测试 void Init(int *&b);//为N阶对称矩阵初始化存储数据的一维数组bint Value(int b[], int i, int j);//返回存储在b[M]中,对应二维数组A[i][j]的值void Assign(int b[], int e, int i, int j);//将e赋值给对应二维数组元素A[i][j],要存储到b[
2015-10-23 08:46:28
687
原创 第9周 项目1—猴子选大王(数组版)
在一个数组中,数组中用1表示猴子在圈中,用0表示猴子已经出圈,数组下标对应与猴子编号对应(例如数组元素p[0]值为1,表示第1只猴子尚在圈中,即p[i]代表编号为i+1的猴子是否在圈中)。 一只猴子出圈,则将对应的数组值置为0;在报数过程中,要跨过值为0的猴子。 若m=8, n=4,初始时数组如下: 其中有3只猴子出圈后,数组中的值如下: 数到最后一只
2015-10-23 08:32:52
492
原创 第7周 项目6—停车场模拟
设停车场是一个可停放n辆汽车的狭长死胡同,南边封口,汽车只能从北边进出(这样的停车场世间少有)。汽车在停车场内按车辆到达时间的先后顺序,最先到达的第一辆车停放在车场的最南端,依次向北排开。若车场内已停满n辆汽车,则后来的汽车只能在门外的候车场上等候,一旦有车开走,则排在候车场上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路(假定停车场内设有供车辆进出的便道,
2015-10-23 08:17:52
451
原创 第7周 项目5—排队看病模拟
(1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。 (2)护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊。 要求模拟病人等待就诊这一过程。程序采用菜单方式,其选项及功能说明如下: (1)排队——输入排队病人的病历号,加入到病人排队队列中。 (2)就诊——病人排队队列中最前面的病人就诊,并将其从队列中删除。 (3)查看排队——从队首到队尾列出
2015-10-23 08:14:15
375
原创 第8周 项目5—计数的模式匹配
1.头文件:sqString.h,包含定义链队数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100 //最多的字符个数typedef struct{ char data[MaxSize]; //定义可容纳MaxSize个字符的空间 int length; //标记当前
2015-10-12 17:12:39
417
原创 第8周 项目4—字符串加密
1.头文件:sqString.h,包含定义链队数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100 //最多的字符个数typedef struct{ char data[MaxSize]; //定义可容纳MaxSize个字符的空间 int length; //标记当前
2015-10-12 17:01:04
341
原创 第8周 项目3—顺序串算法
1.头文件:sqString.h,包含定义链队数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100 //最多的字符个数typedef struct{ char data[MaxSize]; //定义可容纳MaxSize个字符的空间 int length; //标记当前
2015-10-12 16:54:59
458
原创 第7周 项目2—建立链队算法库
1.头文件:liqueue.h,包含定义链队数据结构的代码、宏定义、要实现算法的函数的声明;typedef char ElemType;typedef struct qnode{ ElemType data; struct qnode *next;} QNode; //链队数据结点类型定义typedef struct{ QNo
2015-10-12 16:48:48
361
原创 第8周 项目1—建立顺序串的算法库
1.头文件:sqString.h,包含定义链队数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100 //最多的字符个数typedef struct{ char data[MaxSize]; //定义可容纳MaxSize个字符的空间 int length; //标记当前
2015-10-12 16:37:48
421
原创 第7周 项目4—队列数组
1.头文件:liqueue.h,包含定义链队数据结构的代码、宏定义、要实现算法的函数的声明;typedef int ElemType;typedef struct qnode{ ElemType data; struct qnode *next;} QNode; //链队数据结点类型定义typedef struct{ QNod
2015-10-12 16:32:23
423
原创 第7周 项目3—负数把正数赶出队列
1.头文件:sqqueue.h,包含定义顺序环形队列数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 5typedef int ElemType;typedef struct{ ElemType data[MaxSize]; int front,rear; /*队首和队尾指针*/} SqQueue;void
2015-10-12 16:25:13
315
原创 第8周 项目2—建立链串算法库
1.头文件:liString.h,包含定义链队数据结构的代码、宏定义、要实现算法的函数的声明;typedef struct snode{ char data; struct snode *next;} LiString;void StrAssign(LiString *&s,char cstr[]); //字符串常量cstr赋给串svoid StrC
2015-10-12 16:15:49
308
原创 第7周 项目1—建立顺序环形队列算法库
1.头文件:sqqueue.h,包含定义顺序环形队列数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 5typedef char ElemType;typedef struct{ ElemType data[MaxSize]; int front,rear; /*队首和队尾指针*/} SqQueue;void InitQueu
2015-10-09 09:28:55
477
原创 第6周 项目5—后缀表达式
初始化运算符栈op;将'='进栈;从exp读取字符ch;while (ch!='\0'){ if (ch不为运算符) 将后续的所有数字均依次存放到postexp中,并以字符'#'标志数值串结束; else switch(Precede(op栈顶运算符,ch)) { case ': //栈顶运算符优先级低
2015-10-09 09:20:24
548
原创 第6周 项目4—数制转换
1.头文件:sqstack.h,包含定义顺序栈数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100typedef int ElemType;typedef struct{ ElemType data[MaxSize]; int top; //栈指针} SqStack; //
2015-10-09 09:17:46
403
原创 第6周 项目3—括号的匹配
1.头文件:sqstack.h,包含定义顺序栈数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100typedef char ElemType;typedef struct{ ElemType data[MaxSize]; int top; //栈指针} SqStack; /
2015-10-09 09:12:46
417
原创 第6周 项目2—建立链栈算法库
1.头文件:listack.h,包含定义链栈数据结构的代码、宏定义、要实现算法的函数的声明;typedef char ElemType;typedef struct linknode{ ElemType data; //数据域 struct linknode *next; //指针域} LiStack;
2015-10-09 09:00:12
477
原创 第6周 项目1—建立顺序栈算法库
1.头文件:sqstack.h,包含定义顺序栈数据结构的代码、宏定义、要实现算法的函数的声明;#define MaxSize 100typedef char ElemType;typedef struct{ ElemType data[MaxSize]; int top; //栈指针} SqStack; /
2015-10-09 08:54:50
399
原创 第四周 项目6—多项式求和
两个多项式相加,其规则是对具有相同指数的项,令其系数相加。设两个待相加的多项式的链表的头指针分别为head1(第一个多项式)和head2(第二个多项式),两者的和保存到链表head1中。只需要先将head1和head2链表的首结点作为当前结点(分别用p1和p2指向)开始检测,在遍历链表的过程中,分情况作如下处理: (1)若两个多项式中当前结点的指数值相同,则它们的系数相加,结果保存到p1
2015-10-05 16:56:22
478
原创 第四周 项目5—猴子选大王
一群猴子,编号是1,2,3 …m,这群猴子(m个)按照1-m的顺序围坐一圈。从第1只开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。输入m和n,输出为大王的猴子是几号。#include using namespace std;struct Monkey{ int num; //猴子的编号 struct M
2015-10-05 16:35:58
318
原创 第四周 项目4—建设双链表算法库
1.头文件:cdlinklist.h,包含定义双链表数据结构的代码、宏定义、要实现算法的函数的声明;//循环双链表基本运算函数typedef int ElemType;typedef struct DNode //定义双链表结点类型{ ElemType data; struct DNode *prior; //指向前驱结点 stru
2015-10-05 16:27:17
372
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人