- 博客(44)
- 收藏
- 关注
原创 实训
头文件:#include #include #include #include #include typedef struct { /*通讯录结点类型*/ char num[30]; /*编号*/ char name[30]; /*姓名*/ char sex[30]; /*性别*/ char phone[30]; /*电话*/ char addr[
2016-01-12 22:53:18 321
原创 第八周项目5计数的模式匹配
函数:#include #include "sqString.h"int str_count(SqString s,SqString t){ int i=0,j=0,count=0; while (i<s.length && j<t.length) { if (s.data[i]==t.data[j]) //继续匹配下一个字符
2015-12-18 09:05:39 279
原创 第八周项目1建立顺序串算法库
头文件:#define MaxSize 100 //最多的字符个数typedef struct{ char data[MaxSize]; //定义可容纳MaxSize个字符的空间 int length; //标记当前实际串长} SqString;void StrAssign(SqStrin
2015-12-18 08:55:44 220
原创 第11周项目2用二叉树求解代数表达式
函数:#include #include #include #include "1.h"//用s[i]到s[j]之间的字符串,构造二叉树的表示形式BTNode *CRTree(char s[],int i,int j){ BTNode *p; int k,plus=0,posi; if (i==j) //i和j相同,意味着只有一个
2015-12-18 08:45:08 287
原创 第十周项目3利用二叉树遍历解决问题(计算二叉树节点个数)
函数: #include #include "btree.h"int Nodes(BTNode *b){ if (b==NULL) return 0; else return Nodes(b->lchild)+Nodes(b->rchild)+1;}int main(){ BTNode *b;
2015-12-18 08:40:23 504
原创 第十周项目2二叉树遍历的递归算法
函数:#include #include "1.h"void PreOrder(BTNode *b) //先序遍历的递归算法{ if (b!=NULL) { printf("%c ",b->data); //访问根节点 PreOrder(b->lchild); //递归访问左子树 Pre
2015-12-18 08:36:03 266
原创 第10周项目1二叉树算法库
头文件:#define MaxSize 100typedef char ElemType;typedef struct node{ ElemType data; //数据元素 struct node *lchild; //指向左孩子 struct node *rchild; //指向右孩子} B
2015-12-18 08:31:47 231
原创 第14周项目5迷宫问题之图深度优先遍历解法
函数:#include #include #define MaxSize 100#define M 4#define N 4//以下定义邻接表类型typedef struct ANode //边的结点结构类型{ int i,j; //该边的终点位置(i,j) struct ANode *
2015-12-14 17:16:24 206
原创 第14周项目4(7)最远顶点
函数:#include #include #include "graph.h"int Maxdist(ALGraph *G,int v){ ArcNode *p; int i,j,k; int Qu[MAXV]; //环形队列 int visited[MAXV]; //访问标记数组
2015-12-14 17:12:08 265
原创 第14周项目4(6)最短路径
函数:#include #include #include "graph.h"typedef struct{ int data; //顶点编号 int parent; //前一个顶点的位置} QUERE; //非环形队列类型voi
2015-12-14 17:09:51 232
原创 第14周项目4(5)输出通过一个节点的简单回路
函数:#include #include #include "graph.h"int visited[MAXV]; //全局变量void DFSPath(ALGraph *G,int u,int v,int path[],int d)//d是到当前为止已走过的路径长度,调用时初值为-1{ int w,i; ArcNode *p;
2015-12-14 17:06:51 248
原创 第14周项目4(4)输出一些简单回路
函数:#include #include #include "graph.h"int visited[MAXV]; //定义存放节点的访问标志的全局数组void SomePaths(ALGraph *G,int u,int v,int s, int path[],int d)//d是到当前为止已走过的路径长度,调用时初值为-1{ int w,i;
2015-12-14 17:04:46 210
原创 第14周项目4(3)输出所有路径
函数:#include #include #include "graph.h"int visited[MAXV]; //定义存放节点的访问标志的全局数组void FindPaths(ALGraph *G,int u,int v,int path[],int d)//d是到当前为止已走过的路径长度,调用时初值为-1{ int w,i; ArcN
2015-12-14 17:01:59 237
原创 第12周项目4(2)输出简单路径
函数: #include #include #include "1.h"int visited[MAXV]; //定义存放节点的访问标志的全局数组void FindAPath(ALGraph *G,int u,int v,int path[],int d){ //d表示path中的路径长度,初始为-1 int w,i; ArcNod
2015-12-14 17:00:39 305
原创 第12周项目4(1)是否有简单路径
函数:#include #include #include "graph.h"int visited[MAXV]; //定义存放节点的访问标志的全局数组void ExistPath(ALGraph *G,int u,int v, bool &has){ int w; ArcNode *p; visited[u]=1; if(u
2015-12-14 16:57:18 236
原创 第12周项目3图遍历算法的实现
函数:#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].firstarc;
2015-12-14 16:52:00 236
原创 第12周项目2操作用邻接表存储的图
函数:#include #include #include "1.h"//返回图G中编号为v的顶点的出度int OutDegree(ALGraph *G,int v){ ArcNode *p; int n=0; p=G->adjlist[v].firstarc; while (p!=NULL) { n+
2015-12-14 16:50:22 267
原创 第12周项目1图基本算法库
头文件:#ifndef GRAPH_H_INCLUDED#define GRAPH_H_INCLUDED#define MAXV 100 //最大顶点个数#define INF 32767 //INF表示∞typedef int InfoType;//以下定义邻接矩阵类型typedef struct{ in
2015-12-14 16:40:38 202
原创 第14周项目3是否为二叉排序树
函数:#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node //记录类型{ KeyType key;
2015-12-14 16:31:59 233
原创 第14周项目2二叉排序树中查找的路径
代码:#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node //记录类型{ KeyType key;
2015-12-14 16:26:26 306
原创 第16周项目3归并排序算法的改进
函数: #include #include #include #include #define MinLength 64 //最短分段长度typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType
2015-12-07 17:20:01 359
原创 第16周项目4英文单词排序
函数:#include #include #include #define MaxLen 9 //单词的最大长度#define Radix 27 //基数rd为27,分别对应' ','a',…'z'typedef char String[MaxLen+1]; //定义String为字符数组类型typedef
2015-12-07 17:15:43 453
原创 第16周项目1验证算法
函数:#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项,类型
2015-12-07 17:00:18 355
原创 第15周项目3B-树的基本运算
函数:#include #include #define MAXM 10 //定义B-树的最大的阶数typedef int KeyType; //KeyType为关键字类型typedef struct node //B-树结点类型定义{ int keynum;
2015-12-07 16:53:55 237
原创 第15周项目2用哈希表组织关键字
#include #include #define N 15#define M 26int H(char *s){ return ((*s-'a'+1)%M);}int main(){ char *s[N]= {"if", "while", "for", "case", "do", "break", "else", "struct", "un
2015-12-07 16:35:58 284
原创 第15周项目1哈希表及其运算的实现
函数:#include #define MaxSize 100 //定义最大哈希表长度#define NULLKEY -1 //定义空关键字值#define DELKEY -2 //定义被删关键字值typedef int KeyType; //关键字类型typedef char * InfoType;
2015-12-07 16:24:59 296
原创 13周是否为二叉排序树
主函数:#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node //记录类型{ KeyType key;
2015-11-30 17:19:51 257
原创 13周二叉排序树中的查找路径
主函数:#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node //记录类型{ KeyType key;
2015-11-30 17:11:53 579
原创 第13周项目4平衡二叉树
主函数:#include #include typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node //记录类型{ KeyType key; //关键字项
2015-11-30 17:05:18 275
原创 第13周项目3二叉排序树
主函数:#include #include typedef int KeyType;typedef char InfoType[10];typedef struct node //记录类型{ KeyType key; //关键字项 InfoType data;
2015-11-30 16:58:22 205
原创 第13周项目2
主函数: #include #define MAXL 100 //数据表的最大长度#define MAXI 20 //索引表的最大长度typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; //KeyType为关键字的数
2015-11-30 16:44:31 279
原创 14周项目一线性表的折半查找
函数实现:#include #define MAXL 100typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; //KeyType为关键字的数据类型 InfoType data; //其他数据} N
2015-11-30 16:29:23 298
原创 第13周项目
#define MAXV 100 //最大顶点个数#define INF 32767 //INF表示∞typedef int InfoType;//以下定义邻接矩阵类型typedef struct{ int no; //顶点编号 InfoType info;
2015-11-23 16:38:19 281
原创 第九周项目二:对称矩阵的压缩存储和基本运算
函数:#include #include #define N 4//为N阶对称矩阵初始化存储数据的一维数组Bvoid Init(int *&b){ b = (int*)malloc(sizeof(int)*(N*(N+1)/2));}//返回存储在b[M]中,对应二维数组A[i][j]的值int Value(int b[], int i, in
2015-11-02 17:15:36 286
原创 第九周项目一:猴子选大王
函数:#include #define MaxSize 8void king(int m,int n){ int p[MaxSize]; int i,j,t; for (i=0; i<m; i++) //构建初始序列,记录m只猴子在圈中 p[i]=1; t=-1;
2015-11-02 16:46:45 258
原创 第六周项目二建立链栈算法库
头文件:#include #include typedef char ElemType;typedef struct linknode{ ElemType data; struct linknode *next;}LiStack;void InitStack(LiStack *&s); //初始化栈void DestroyStack(LiSta
2015-10-30 09:07:53 289
原创 第六周项目1建立顺序栈算法库
头文件:#define MaxSize 100#include #include typedef char ElemType;typedef struct{ ElemType data[MaxSize]; int top;} SqStack;void InitStack(SqStack *&s);void DestroyStack(SqSta
2015-10-26 17:10:34 231
原创 第四周项目三 单链表的应用
头文件:#include #include typedef int ElemType;typedef struct LNode //定义单链表结点类型{ ElemType data; struct LNode *next; //指向后继结点} LinkList;void CreateListF(LinkList *&L,El
2015-10-16 09:15:44 229
原创 第四周项目一建立单链表
头文件#include #include typedef int ElemType;typedef struct LNode //定义单链表结点类型{ ElemType data; struct LNode *next; //指向后继结点} LinkList;void CreateListF(LinkList *&L,Ele
2015-10-15 17:28:03 219
原创 第三周项目1、项目2: 顺序表的基本运算、建立“顺序表”算法库
头文件:#include "stdio.h"#include "malloc.h"#define MaxSize 50typedef int ElemType;typedef struct{ ElemType data[MaxSize]; int length;}SqList;void CreateList(SqList *&L,ElemType a[],i
2015-09-21 19:59:01 595
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人