- 博客(31)
- 收藏
- 关注
原创 数据结构课程设计-家谱系统的简易开发
源代码如下 (1)main.cpp #include #include"family.h" #include #include #include using namespace std; #define max 100 int main() { int choose; char X; Fam *b=NULL; char *str=(char*)malloc(max*sizeof(char));
2015-12-25 16:42:10
7489
3
原创 学期末数据结构教程总结
正文如下 本学期,跟随贺立坚老师学习了数据结构这门课程,有付出,有收获,还有很多没有对做完的学习任务的遗憾,随着本文的写成,数据结构课程的上课阶段落下了帷幕,但我们应该知道的是,这并不是教程的结尾,而是一个新的开始。 首先,我要感谢教我们这门课程的贺老师,感谢老师的不平凡,感谢老师敢想敢做,愿意对我们采用新颖的形式(翻转课堂)进行授课,通过翻转课堂的学习,最直观的
2015-12-18 09:20:10
1188
1
原创 第十二周项目4-(5)应用图的深度优先遍历思路求解问题
问题及代码: 问题如下: /*输出通过一个节点的所有简单回路 问题:求图中通过某顶点k的所有简单回路(若存在)*/ 具体代码为: #include #include #include "graph.h" int visited[MAXV]; //全局变量 void DFSPath(ALGraph *G,int u,int v,int path[],int d) //d是到
2015-12-17 22:46:33
516
原创 第十二周项目4-(2)利用遍历思想求解图问题
问题及代码: 具体问题如下: /*输出简单路径 问题:假设图G采用邻接表存储,设计一个算法输出图G中从顶点u到v的一条简单路径(假设图G中从顶点u到v至少有一条简单路径)*/具体代码如下: #include #include #include "graph.h" int visited[MAXV]; //定义存放节点的访问标志的全局数组 void FindPaths(ALGra
2015-12-17 17:09:18
423
原创 第十二周项目4-(1)利用遍历思想求解图问题
问题及代码: 问题如下: /*是否有简单路径? 问题:假设图G采用邻接表存储,设计一个算法,判断顶点u到v是否有简单路径。*/ 简单路径概念:一条路径上除开始点和结束点可以相同外,其余顶点均各不相同。 测试代码为: #include #include #include "graph.h" int visited[MAXV]; //定义存放节点的访问标志的全局数组 void
2015-12-17 16:39:16
408
原创 第十二周项目3-图遍历算法实现
问题及代码: 图遍历分别为深度优先(DFS)和广度优先(BFS),其代码实现如下 (1)DFS #include #include #include "graph.h" int visited[MAXV]; void DFS(ALGraph *G, int v) { ArcNode *p; int w; visited[v]=1; pri
2015-12-14 17:12:14
336
原创 第十二周项目2-操作用邻接表存储的图
问题及代码: 具体问题如下 /*假设图G采用邻接表存储,分别设计实现以下要求的算法: (1)输出出图G中每个顶点的出度; (2)求出图G中出度最大的一个顶点,输出该顶点编号; (3)计算图G中出度为0的顶点数; (4)判断图G中是否存在边。 利用下图作为测试用图,输出结果。 */ 代码实现为:main.cpp#include #include #include
2015-12-14 16:41:08
605
原创 第十二周项目1-图基本算法库
问题及代码: (1)graph.h #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 100 //最大顶点个数 #define INF 32767 //INF表示∞ typedef int InfoType; //以下定义邻接矩阵类型 typedef str
2015-12-11 09:07:25
316
原创 第十一周项目1-(3)中序线索化二叉树的算法验证
问题及代码: #include #include #define MaxSize 100 typedef char ElemType; typedef struct node { ElemType data; int ltag,rtag; //增加的线索标记 struct node *lchild; struct node *rchild; } T
2015-12-08 18:46:24
359
原创 第十一周项目1-(1)二叉树的层次遍历算法
问题及代码: Main.cpp(头文件及函数见之前的二叉树算法库) #include #include "btree.h" void LevelOrder(BTNode *b) { BTNode *p; BTNode *qu[MaxSize]; //定义环形队列,存放节点指针 int front,rear; //定义队头和队尾指针 front=rear
2015-12-07 17:12:25
416
原创 第十周项目3-用二叉树遍历思想解决问题(1)&(2)
问题及代码: (1)计算二叉树节点个数 #include #include #include"btree.h" int Nodes(BTNode *b) { if(b==NULL) return 0; else return Nodes(b->lchild)+Nodes(b->rchild)+1; } int main() {
2015-11-13 08:53:39
420
原创 第十周项目2-二叉树遍历的递归算法
问题及代码: 实现二叉树的先序中序后序遍历的递归算法,头文件brtee.h与brtee.cpp可见项目一算法库。 (1)brtee.cpp void PreOrder(BTNode *b) { if(b!=NULL) { printf("%c",b->data); PreOrder(b->rchild); PreOrder(b-
2015-11-12 20:04:10
433
原创 第十周项目1-二叉树的链式存储及基本运算
问题及代码: (1)mian.cpp #include #include "btree.h" int main() { BTNode *b,*p,*lp,*rp;; printf(" (1)创建二叉树:"); CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))"); printf("\
2015-11-09 17:24:49
402
原创 第九周项目3-(1)稀疏矩阵的三元组表示
问题及代码: (1)tup。cpp (2)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-11-02 17:18:46
382
原创 第九周项目2-(2)对称矩阵的加法和乘法
问题及代码: /* void Init(int *&b);//为N阶对称矩阵初始化存储数据的一维数组b int 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[M]中 void
2015-11-02 16:42:02
1197
原创 第九周项目2-对称矩阵压缩存储的实现和应用
问题及代码: /* 用压缩形式存储对称矩阵,实现下面的操作测试 void Init(int *&b);//为N阶对称矩阵初始化存储数据的一维数组b int Value(int b[], int i, int j);//返回存储在b[M]中,对应二维数组A[i][j]的值 void Assign(int b[], int e, int i, int j);//将e赋值给对应二维数组元素A[
2015-10-26 17:24:26
412
原创 第八周项目1-建立顺序串的算法库
#include #include #include "SaString.h" void StrAssign(SqString &s,char cstr[]) { int i; for(i=0;cstr[i]!='\0';i++) s.data[i]=cstr[i]; s.length=i; } void StrCopy(SqStri
2015-10-23 09:26:09
455
原创 第四周项目3-单链表的应用(2)连接单链表
问题及代码: /* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:单链表的应用 *作者:李子伦 *完成日期:2015年10月14日 * *问题描述:已知L1和L2分别指向两个单链表的头结点,且已知其长度分别为m、n, 请设计算法将L2连接到L1的后面。实现这个算法,完成测试 *输入描述:无 *程序输出:测试结果,连接后的单
2015-10-14 18:18:59
664
原创 第四周项目3-单链表的应用(1)单链表算法
问题及代码: /* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:单链表的应用 *作者:李子伦 *完成日期:2015年10月14日 * *问题描述:设计一个算法,将一个带头结点的数据域依次为a1,a2,…,an(n≥3)的单链表的所有结点逆置, 即第一个结点的数据域变为an,…,最后一个结点的数据域为a1。实现这个算法,并完成
2015-10-14 17:44:34
689
原创 第七周项目1-建立顺序环形队列算法库
问题及代码: (1)sqqueue.h #ifndef SQQUEUE_H_INCLUDED #define SQQUEUE_H_INCLUDED #define MaxSize 5 typedef char ElemType; typedef struct { ElemType data[MaxSize]; int front,rear; /*队首和
2015-10-13 19:51:45
392
原创 第四周项目2-建立"单链表"算法库
问题及代码: /* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:链表的基本运算 *作者:李子伦 *完成日期:2015年10月6日 * *问题描述:定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果 *输入描述:无 *程序输出:测试结果 */ (1)linklist.cpp
2015-10-12 16:34:59
455
原创 第六周项目1-建立顺序栈的算法库
问题及代码: *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:建立顺序栈的算法库 *作者:李子伦 *完成日期:2015年10月8日 * *问题描述:定义顺序栈存储结构,实现其基本运算,并完成测试。 *输入描述:无 *程序输出:测试结果 */ (1)sqstack.h #ifndef SQSTACK_H_INCLUDED #de
2015-10-09 13:21:03
402
原创 第六周项目2-建立链栈的算法库
问题及代码: /* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:建立链栈的算法库 *作者:李子伦 *完成日期:2015年10月9日 * *问题描述:定义链栈的存储结构,实现其基本运算,并完成测试 *输入描述:无 *程序输出:测试结果 */ (1)main.cpp #inc
2015-10-09 09:11:35
422
原创 第四周项目1-建立单链表
问题及代码: /* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:链表的基本运算 *作者:李子伦 *完成日期:2015年10月6日 * *问题描述:定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果 *输入描述:无 *程序输出:测试结果 */ #include #include typedef in
2015-10-07 16:14:15
578
1
原创 第三周项目3-求集合并集
问题及代码: /* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:求集合并集 *作者:李子伦 *完成日期:2015年9月21日 * *问题描述: 假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即线性表中的数据元素即为集合中的成员。 设计算法,用函数unionList(List LA, List LB,
2015-09-21 17:15:46
491
原创 第三周项目2-建设顺序表算法库
问题及代码: /* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:建设"顺序表"算法库 *作者:李子伦 *完成日期:2015年9月19日 * *问题描述:针对线性表中的顺序存储结构,实现各种基本运算 *输入描述:测试函数的输入 *程序输出:测试结果 */(1)1.h #ifndef LIST_H_INCLUDED #de
2015-09-19 11:52:28
495
原创 第三周项目1-顺序表的基本运算
问题及代码: /* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:顺序表的基本运算 *作者:李子伦 *完成日期:2015年9月18日 * *问题描述:实现顺序表基本运算有算法(对应视频0204创建线性表的实现和0205顺序表基本运算的实现),依据“最小化”的原则进行测试。所谓最小化原则,指的是利用尽可能少的基本运算,组成一个程
2015-09-18 23:29:38
471
原创 第2周项目1-C/C++语言中函数参数传递的三种方式
问题及代码: /* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:Cpp1.cpp *作者:李子伦 *完成日期:2015年9月7日 * *问题描述:比较函数参数传递的三种方式 *输入描述:输入a,b的值 *程序输出:输出传递后a,b的值 */ #include int main() {
2015-09-09 20:18:40
449
原创 第2周项目0-宣告“主权”
问题及代码: /* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:Cpp1.cpp *作者:李子伦 *完成日期:2015年9月7日 * *问题描述:发表博文作为开山之作 *输入描述:无输入 *程序输出:输出一句欢迎的话 */ #include using namespace std; int main() { cou
2015-09-07 17:17:11
376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅