自定义博客皮肤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 988 1

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

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

2015-12-18 09:15:43 1315

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

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

2015-12-18 08:51:07 412

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

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

2015-12-18 08:38:28 362

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

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

2015-12-14 17:05:08 420

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

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

2015-12-14 16:56:35 297

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

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

2015-12-14 16:51:32 269

原创 第十三周-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 258

原创 第十三周-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 279

原创 第十三周-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 242

原创 第十三周-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 287

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

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

2015-12-07 17:08:23 259

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

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

2015-12-07 16:58:34 265

原创 第十二周-输出从顶点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 1909

原创 第十二周-广度遍历

问题描述:实现图遍历算法,分别输出如下图结构的深度优先(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 358

原创 第十二周-深度遍历

问题描述:实现图遍历算法,分别输出如下图结构的深度优先(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 311

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

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

2015-11-30 16:31:16 304

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

问题描述:图的基本算法库。程序输出: 数组的邻接矩阵和邻接表,邻接矩阵与邻接表的互换 。#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 311

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

问题描述:哈夫曼编码的运用。#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 335

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

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

2015-11-27 09:04:24 390

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

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

2015-11-23 16:39:45 306

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

#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 433

原创 第十一周-图的遍历

深度优先变遍历:#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 467

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

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

2015-11-16 16:29:06 694 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 429

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

实现二叉树的先序、中序、后序遍历的递归算法,并对用”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 592

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

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

2015-11-02 17:00:16 484

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

问题描述:建立顺序串算法库,实现顺序串的基本操作。程序输出:子串,串连接,串删除,串插入等。源文件:#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 416

原创 第七周-队列数组

问题描述:创建十个队列,分别编号为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 402

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

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

2015-10-30 08:59:14 357

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

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

2015-10-26 17:13:01 334

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

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

2015-10-26 16:53:40 371

原创 第六周-数制转换

问题描述:十进制数制转换源文件:#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 298

原创 第六周-括号的匹配

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

2015-10-23 08:41:45 339

原创 第四周-循环双链表

问题描述:设非空线性表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 479

原创 第四周-多项式求和

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

2015-10-12 17:00:00 375

原创 第四周-猴子选大王

【项目 - 猴子选大王】   一群猴子,编号是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 362

原创 第六周-建立顺序栈

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

2015-10-11 21:33:27 413

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

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

2015-10-11 21:28:12 383

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

#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 455

空空如也

空空如也

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

TA关注的人

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