- 博客(31)
- 收藏
- 关注
原创 数据结构课程设计-家谱系统的简易开发
源代码如下(1)main.cpp#include#include"family.h"#include#include#includeusing namespace std;#define max 100int main(){int choose;char X;Fam *b=NULL;char *str=(char*)malloc(max*sizeof(char));
2015-12-25 16:42:10
7465
3
原创 学期末数据结构教程总结
正文如下 本学期,跟随贺立坚老师学习了数据结构这门课程,有付出,有收获,还有很多没有对做完的学习任务的遗憾,随着本文的写成,数据结构课程的上课阶段落下了帷幕,但我们应该知道的是,这并不是教程的结尾,而是一个新的开始。 首先,我要感谢教我们这门课程的贺老师,感谢老师的不平凡,感谢老师敢想敢做,愿意对我们采用新颖的形式(翻转课堂)进行授课,通过翻转课堂的学习,最直观的
2015-12-18 09:20:10
1167
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
507
原创 第十二周项目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
419
原创 第十二周项目4-(1)利用遍历思想求解图问题
问题及代码:问题如下:/*是否有简单路径? 问题:假设图G采用邻接表存储,设计一个算法,判断顶点u到v是否有简单路径。*/简单路径概念:一条路径上除开始点和结束点可以相同外,其余顶点均各不相同。测试代码为:#include #include #include "graph.h"int visited[MAXV]; //定义存放节点的访问标志的全局数组void
2015-12-17 16:39:16
402
原创 第十二周项目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
329
原创 第十二周项目2-操作用邻接表存储的图
问题及代码:具体问题如下 /*假设图G采用邻接表存储,分别设计实现以下要求的算法: (1)输出出图G中每个顶点的出度; (2)求出图G中出度最大的一个顶点,输出该顶点编号; (3)计算图G中出度为0的顶点数; (4)判断图G中是否存在边。 利用下图作为测试用图,输出结果。 */ 代码实现为:main.cpp#include #include #include
2015-12-14 16:41:08
590
原创 第十二周项目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
307
原创 第十一周项目1-(3)中序线索化二叉树的算法验证
问题及代码:#include #include #define MaxSize 100typedef char ElemType;typedef struct node{ ElemType data; int ltag,rtag; //增加的线索标记 struct node *lchild; struct node *rchild;} T
2015-12-08 18:46:24
351
原创 第十一周项目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
410
原创 第十周项目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
414
原创 第十周项目2-二叉树遍历的递归算法
问题及代码:实现二叉树的先序中序后序遍历的递归算法,头文件brtee.h与brtee.cpp可见项目一算法库。(1)brtee.cppvoid PreOrder(BTNode *b){ if(b!=NULL) { printf("%c",b->data); PreOrder(b->rchild); PreOrder(b-
2015-11-12 20:04:10
429
原创 第十周项目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
396
原创 第九周项目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
374
原创 第九周项目2-(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[M]中void
2015-11-02 16:42:02
1187
原创 第九周项目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[
2015-10-26 17:24:26
400
原创 第八周项目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
441
原创 第四周项目3-单链表的应用(2)连接单链表
问题及代码:/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:单链表的应用*作者:李子伦*完成日期:2015年10月14日**问题描述:已知L1和L2分别指向两个单链表的头结点,且已知其长度分别为m、n,请设计算法将L2连接到L1的后面。实现这个算法,完成测试*输入描述:无*程序输出:测试结果,连接后的单
2015-10-14 18:18:59
659
原创 第四周项目3-单链表的应用(1)单链表算法
问题及代码:/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:单链表的应用*作者:李子伦*完成日期:2015年10月14日**问题描述:设计一个算法,将一个带头结点的数据域依次为a1,a2,…,an(n≥3)的单链表的所有结点逆置,即第一个结点的数据域变为an,…,最后一个结点的数据域为a1。实现这个算法,并完成
2015-10-14 17:44:34
674
原创 第七周项目1-建立顺序环形队列算法库
问题及代码:(1)sqqueue.h#ifndef SQQUEUE_H_INCLUDED#define SQQUEUE_H_INCLUDED#define MaxSize 5typedef char ElemType;typedef struct{ ElemType data[MaxSize]; int front,rear; /*队首和
2015-10-13 19:51:45
387
原创 第四周项目2-建立"单链表"算法库
问题及代码:/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:链表的基本运算*作者:李子伦*完成日期:2015年10月6日**问题描述:定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果*输入描述:无*程序输出:测试结果*/(1)linklist.cpp
2015-10-12 16:34:59
450
原创 第六周项目1-建立顺序栈的算法库
问题及代码:*Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:建立顺序栈的算法库*作者:李子伦*完成日期:2015年10月8日**问题描述:定义顺序栈存储结构,实现其基本运算,并完成测试。*输入描述:无*程序输出:测试结果*/(1)sqstack.h#ifndef SQSTACK_H_INCLUDED#de
2015-10-09 13:21:03
398
原创 第六周项目2-建立链栈的算法库
问题及代码:/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:建立链栈的算法库 *作者:李子伦 *完成日期:2015年10月9日 * *问题描述:定义链栈的存储结构,实现其基本运算,并完成测试 *输入描述:无 *程序输出:测试结果 */ (1)main.cpp#inc
2015-10-09 09:11:35
416
原创 第四周项目1-建立单链表
问题及代码:/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:链表的基本运算*作者:李子伦*完成日期:2015年10月6日**问题描述:定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果*输入描述:无*程序输出:测试结果*/#include #include typedef in
2015-10-07 16:14:15
571
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
482
原创 第三周项目2-建设顺序表算法库
问题及代码:/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:建设"顺序表"算法库*作者:李子伦*完成日期:2015年9月19日**问题描述:针对线性表中的顺序存储结构,实现各种基本运算*输入描述:测试函数的输入*程序输出:测试结果*/(1)1.h#ifndef LIST_H_INCLUDED#de
2015-09-19 11:52:28
490
原创 第三周项目1-顺序表的基本运算
问题及代码:/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:顺序表的基本运算*作者:李子伦*完成日期:2015年9月18日**问题描述:实现顺序表基本运算有算法(对应视频0204创建线性表的实现和0205顺序表基本运算的实现),依据“最小化”的原则进行测试。所谓最小化原则,指的是利用尽可能少的基本运算,组成一个程
2015-09-18 23:29:38
464
原创 第2周项目1-C/C++语言中函数参数传递的三种方式
问题及代码:/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:Cpp1.cpp*作者:李子伦*完成日期:2015年9月7日**问题描述:比较函数参数传递的三种方式*输入描述:输入a,b的值*程序输出:输出传递后a,b的值*/#includeint main(){
2015-09-09 20:18:40
439
原创 第2周项目0-宣告“主权”
问题及代码:/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:Cpp1.cpp*作者:李子伦*完成日期:2015年9月7日**问题描述:发表博文作为开山之作*输入描述:无输入*程序输出:输出一句欢迎的话*/#includeusing namespace std;int main(){ cou
2015-09-07 17:17:11
370
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人