自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 数据结构实训代码部分

#include #include #include #include #include # define LEN sizeof(struct Student)/*宏定义 LEN替代Student*/ using namespace std; struct Student /*创建结构体*/ { char num[11]; /*学号*/ char name[11]

2015-12-25 17:13:24 1013 1

原创 第十四周-交换排序之快速排序(以中间位置的元素为标准)

问题描述:交换排序之快速排序。 #include #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 { KeyType key; //关键字项 InfoType data;

2015-12-18 09:15:43 1326

原创 第十四周-判断是否为二叉排序树

问题描述:构造二叉排序树,替换一个元素后判断是否为二叉排序树。 程序输出:判断是否为二叉排序树  #include #include #define MaxSize 100 typedef int KeyType; //定义关键字类型 typedef char InfoType; typedef struct node

2015-12-18 08:51:07 429

原创 第十四周-二叉排序树的查找

问题描述:利用二叉排序树对序列排序后进行查找 。 程序输出:查找某一元素要经过的节点。 #include #include #define MaxSize 100 typedef int KeyType; //定义关键字类型 typedef char InfoType; typedef struct node

2015-12-18 08:38:28 383

原创 第十二周-迷宫问题(用深度遍历算法)

问题描述:利用先序遍历走出迷宫。 程序输出:可以走出的路径。 #include #include #define MaxSize 100 #define M 4 #define N 4 //以下定义邻接表类型 typedef struct ANode //边的结点结构类型 { int i,j; //该边的终

2015-12-14 17:05:08 429

原创 第十四周-平衡二叉树

问题描述:利用平衡二叉树对序列排序后进行查找和删除 。 程序输出:构造平衡二叉树、对平衡二叉树进行删除 。 #include #include typedef int KeyType; //定义关键字类型 typedef char InfoType; typedef struct node //记录类型

2015-12-14 16:56:35 316

原创 第十四周-二叉排序树

问题描述:利用二叉排序树对序列排序后进行查找和删除 。 程序输出:对二叉排序树删除一个元素 。 #include #include typedef int KeyType; typedef char InfoType[10]; typedef struct node //记录类型 { KeyType key;

2015-12-14 16:51:32 286

原创 第十三周-prim算法

问题描述:prim算法 程序输出:最小生成树 #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 100 //最大顶点个数 #define INF 32767 //INF表示∞ typedef int InfoType; //以下定义邻接矩阵类型 typede

2015-12-14 16:20:39 272

原创 第十三周-Kruskal算法

问题描述:Kruskal算法 程序输出:最小生成树 #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MaxSize 100 #define MAXV 100 //最大顶点个数 #define INF 32767 //INF表示∞ typedef int InfoType;

2015-12-14 16:17:36 300

原创 第十三周-Floyd算法

问题描述:Floyd算法。 程序输出:最小生成树。 #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 100 //最大顶点个数 #define INF 32767 //INF表示∞ typedef int InfoType; //以下定义邻接矩阵类型 typ

2015-12-14 16:10:34 257

原创 第十三周-Dijkstra算法

问题描述:Dijkstra算法。 程序输出:最小生成树。 #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MaxSize 100 #define MAXV 100 //最大顶点个数 #define INF 32767 //INF表示∞ typedef int InfoType

2015-12-14 16:07:14 303

原创 第十三周-验证分块查找的算法

问题描述:验证分快查找的算法。 代码: #include #define MAXL 100 //数据表的最大长度 #define MAXI 20 //索引表的最大长度 typedef int KeyType; typedef char InfoType[10]; typedef struct { KeyType key; //

2015-12-07 17:08:23 273

原创 第十三周-验证折半查找的算法

问题描述:验证折半查找的算法。 代码: #include #define MAXL 100 typedef int KeyType; typedef char InfoType[10]; typedef struct {     KeyType key;                //KeyType为关键字的数据类型     InfoType data;          

2015-12-07 16:58:34 286

原创 第十二周-输出从顶点u到顶点v的所有简单路径

问题描述:输出从顶点u到顶点v的所有简单路径。#include #include #include "head.h" int visited[MAXV]; //定义存放节点的访问标志的全局数组 void FindPaths(ALGraph *G,int u,int v,int path[],int d) //d是到当前为止已走过的路径长度,调用时初值为-1 { i

2015-12-07 16:37:54 1930

原创 第十二周-广度遍历

问题描述:实现图遍历算法,分别输出如下图结构的深度优先(DFS)遍历序列和广度优先遍历(BFS)序列。 #include #include #include "head.h" void BFS(ALGraph *G, int v) { ArcNode *p; int w,i; int queue[MAXV],front=0,rear=0; //定义循

2015-12-04 08:54:51 368

原创 第十二周-深度遍历

问题描述:实现图遍历算法,分别输出如下图结构的深度优先(DFS)遍历序列和广度优先遍历(BFS)序列。 #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 100 //最大顶点个数 #define INF 32767 //INF表示∞ typedef int InfoT

2015-12-04 08:43:10 328

原创 第十二周-操作用邻接表存储的图

问题描述:邻接表存储图。 程序输出:图G的顶点出度,出度最大的顶点,出度为0的顶点,判断边是否存在。 #include "head.h" //功能:由一个反映图中顶点邻接关系的二维数组,构造出用邻接矩阵存储的图 //参数:Arr - 数组名,由于形式参数为二维数组时必须给出每行的元素个数,在此将参数Arr声明为一维数组名(指向int的指针) // n - 矩阵的阶数 //

2015-11-30 16:31:16 322

原创 第十二周-图的基本算法库

问题描述:图的基本算法库。 程序输出: 数组的邻接矩阵和邻接表,邻接矩阵与邻接表的互换 。 #include "head.h" int main() { MGraph g1,g2; ALGraph *G1,*G2; int A[6][6]= { {0,5,0,7,0,0}, {0,0,4,0,0,0},

2015-11-30 16:22:55 332

原创 第十一周-哈夫曼编码

问题描述:哈夫曼编码的运用。 #ifndef HEAD_H_INCLUDED #define HEAD_H_INCLUDED #include #include #define N 50 //叶子结点数 #define M 2*N-1 //树中结点总数 //哈夫曼树的节点结构类型 typedef struct { char data;

2015-11-27 09:09:10 343

原创 第十一周-用二叉树解代数表达式

问题描述:用二叉树解代数表达式。 #ifndef BTREE_H_INCLUDED #define BTREE_H_INCLUDED #include #include #include #define MaxSize 100 typedef char ElemType; typedef struct node { ElemType data;

2015-11-27 09:04:24 398

原创 第十一周-线索化二叉树

#include #include #define MaxSize 100 typedef char ElemType; typedef struct node { ElemType data; int ltag,rtag; //增加的线索标记 struct node *lchild; struct node *rchild;

2015-11-23 16:39:45 314

原创 第十一周-二叉树的构造

#include #include #include "btree.h" BTNode *CreateBT1(char *pre,char *in,int n) /*pre存放先序序列,in存放中序序列,n为二叉树结点个数, 本算法执行后返回构造的二叉链的根结点指针*/ { BTNode *s; char *p; int k; if (n

2015-11-23 16:23:08 442

原创 第十一周-图的遍历

深度优先变遍历:#include #include #include "graph.h" int visited[MAXV]; void DFS(ALGraph *G, int v) { ArcNode *p; int w; visited[v]=1; printf("%d ", v); p=G->adjlist[v].firstar

2015-11-16 16:48:20 478

原创 第十一周-图及其存储结构(邻接矩阵丶邻接表)

图的存储结构主要包括邻接矩阵和邻接表,本算法库提供存储结构的定义,以及用于构造图存储结构、不同结构的转换及显示的代码。算法库采用程序的多文件组织形式,包括两个文件: 1.头文件:graph.h,包含定义图数据结构的代码、宏定义、要实现算法的函数的声明; #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define MAXV 10

2015-11-16 16:29:06 714 1

原创 第九周-对称矩阵压缩存储的实现与应用

问题描述:对称矩阵压缩存储的实现与应用。 输入:第n行的第n个数值。 输出:对阵矩阵。 源文件: #include "head.h" void Init(int *&b) { b=(int *)malloc(sizeof(int)*(N*(N+1)/2)); } int Value(int b[], int i, int j) { if(i>=j)

2015-11-09 16:39:29 441

原创 第十周-二叉树遍历的基本算法

实现二叉树的先序、中序、后序遍历的递归算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。 #include #include "btree.h" void PreOrder(BTNode *b) //先序遍历的递归算法 { if (b!=NULL) { printf("

2015-11-02 17:10:54 602

原创 第十周-自建算法库--二叉树的链式存储及基本运算

头文件:btree.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明; #ifndef BTREE_H_INCLUDED #define BTREE_H_INCLUDED #define MaxSize 100 typedef char ElemType; typedef struct node { ElemType data;

2015-11-02 17:00:16 499

原创 第八周-建立顺序串算法库

问题描述:建立顺序串算法库,实现顺序串的基本操作。 程序输出:子串,串连接,串删除,串插入等。 源文件: #include #include "head.h" int main() { SqString s,s1,s2,s3,s4; printf("链串的基本运算如下:\n"); printf(" (1)建立串s和串s1\n"); StrAs

2015-11-02 16:11:22 431

原创 第七周-队列数组

问题描述:创建十个队列,分别编号为0-9(处理为队列数组,编号即下标)。输入若干个正整数,以数字零作为结束。设输入值为x,其个位数的大小为i,则将x插入到编号为i的队列中。最后输出所有的非空队列。   设程序运行时输入:70 59 90 72 67 88 80 64 29 97 18 83 40 13 0 #ifndef LIQUEUE_H_INCLUDED #define LIQUEUE_

2015-10-30 09:29:46 413

原创 第七周-将负数赶出队列

问题描述:设从键盘输入一整数数列a1,a2,...an,实现当ai>0时,ai进队,当ai #ifndef SQQUEUE_H_INCLUDED #define SQQUEUE_H_INCLUDED #define MaxSize 5 typedef char ElemType; typedef struct { ElemType data[MaxSize];

2015-10-30 08:59:14 365

原创 第七周-建立链队算法库

问题描述:建立链队算法库。 完成初始化,判断栈空,进栈,出栈,求栈长度。、 头文件: #ifndef LIQUEUE_H_INCLUDED #define LIQUEUE_H_INCLUDED #include typedef char ElemType; typedef struct qnode { ElemType data; struct qnode *n

2015-10-26 17:13:01 345

原创 第七周-建立顺序环形队列算法库

问题描述:实现环形队列的基本操作。   squeue.h //头文件 #define MaxSize 5 typedef char ElemType; typedef struct { ElemType data[MaxSize]; int front,rear; /*队首和队尾指针*/ } SqQueue; void InitQueue(S

2015-10-26 16:53:40 380

原创 第六周-数制转换

问题描述:十进制数制转换源文件: #include #include #include "sqstack.h" void InitStack(SqStack *&s) { s=(SqStack *)malloc(sizeof(SqStack)); s->top=-1; } void DestroyStack(SqStack *&s) { free(s); } int

2015-10-25 19:27:13 308

原创 第六周-括号的匹配

问题描述:                    假设表达式中允许三种括号:圆括号、方括号和大括号。编写一个算法,判断表达式中的各种左括号是否与右括号匹配。                       例如,输入2+(3+4)*[2+{[3]}]-8,输出匹配正确;输入2+(3+4*[2)+{[3]}-8,输出匹配错误。 主函数: #include #include "sqstack.

2015-10-23 08:41:45 350

原创 第四周-循环双链表

问题描述:设非空线性表ha和hb都用带头节点的循环双链表表示。设计一个算法Insert(ha,hb,i)。                      其功能是:i=0时,将线性表hb插入到线性表ha的最前面;当i>0时,                      线性表hb插入到线性表ha中第i个节点的后面;当i大于等于线性表ha的长度时将线性表hb插入到线性表ha的最后面。        

2015-10-12 17:21:38 492

原创 第四周-多项式求和

要求:用单链表存储一元多项式,并实现两个多项式的加法。 #include #include #define MAX 20 //多项式最多项数 typedef struct //定义存放多项式的数组类型 { double coef; //系数 int exp; //指数 } PolyArray;

2015-10-12 17:00:00 380

原创 第四周-猴子选大王

【项目 - 猴子选大王】   一群猴子,编号是1,2,3 …m,这群猴子(m个)按照1-m的顺序围坐一圈。从第1只开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。输入m和n,输出为大王的猴子是几号。 #include using namespace std; struct Monkey { int num; //猴子的编

2015-10-12 16:24:47 370

原创 第六周-建立顺序栈

头文件 #include #include #define maxsize 100 typedef char ElemType ; typedef struct { char date[maxsize]; int top; }SqStack; void InitStack(SqStack *&s); //初始化栈 void DestroyStack(SqStack *&s

2015-10-11 21:33:27 427

原创 第六周-建立链栈算法库

问题描述:定义链栈存储结构,实现其基本运算,并完成测试。    输入描述:若干数据。   程序输出:各个步骤的文字叙述及其数据的输出。   头文件  #include #include typedef char ElemType; typedef struct linknode { ElemType data; //数据域 struct linkn

2015-10-11 21:28:12 397

原创 第三周-删除线性表的元素

#include #include typedef int ElemType; #define MaxSize 50 typedef struct { ElemType data[MaxSize]; int length; } SqList; //用数组创建线性表 void CreateList(SqLis

2015-10-04 17:49:14 465

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除