自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 (第十周项目3)利用二叉树遍历思想解决问题

假设二叉树采用二叉链存储结构存储,分别实现以下算法,并在程序中完成测试: (1)计算二叉树节点个数; (2)输出所有叶子节点; (3)求二叉树b的叶子节点个数; (4)设计一个算法Level(b,x,h),返回二叉链b中data值为x的节点的层数。 (5)判断二叉树是否相似(关于二叉树t1和t2相似的判断:①t1和t2都是空的二叉树,相似;②t1和t2之一为空,另一不为空,则不

2015-11-30 16:27:04 345

原创 (第十周项目2)二叉树遍历的递归算法

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

2015-11-30 16:22:48 297

原创 (第十周项目1)二叉树算法库

定义二叉树的链式存储结构,实现其基本运算,并完成测试。 要求: 1、头文件btree.h中定义数据结构并声明用于完成基本运算的函数。对应基本运算的函数包括:void CreateBTNode(BTNode *&b,char *str); //由str串创建二叉链BTNode *FindNode(BTNode *b,ElemType x); //返回data域为

2015-11-30 16:16:07 601

原创 (第九周项目4)广义表算法库及应用

(1)建立广义表算法库,包括: ① 头文glist.h,定义数据类型,声明函数; ② 源文件glist.cpp,实现广义表的基本运算,主要算法包括:int GLLength(GLNode *g); //求广义表g的长度int GLDepth(GLNode *g); //求广义表g的深度GLNode *CreateGL(char *&s); //返回由括号表示法

2015-11-30 08:55:40 554

原创 (第九周项目3)稀疏矩阵的三元组表示的实现及应用

(1)建立稀疏矩阵三元组表示的算法库,包括: ① 头文tup.h,定义数据类型,声明函数; ② 源文件tup.cpp,实现稀疏矩阵三元组表示的基本运算,主要算法包括:void CreatMat(TSMatrix &t,ElemType A[M][N]); //从一个二维稀疏矩阵创建其三元组表示bool Value(TSMatrix &t,ElemType x,int i,int j

2015-11-30 08:41:59 485

原创 (第九周项目2)对称矩阵压缩存储的实现与应用

(1)用压缩形式存储对称矩阵,实现下面的操作并测试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],

2015-11-30 08:38:09 451

原创 (第九周项目1)猴子选大王(数组版)

一群猴子,编号是1,2,3 …m,这群猴子(m个)按照1-m的顺序围坐一圈。从第1只开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,最后一只出圈的猴子为大王。输入m和n,输出猴子离开圈子的顺序,从中也可以看出最后为大王是几号猴子。 要求采用数组作为存储结构完成。在一个数组中,数组中用1表示猴子在圈中,用0表示猴子已经出圈,数组下标对应与猴子编号对应(例如数组元素p[0]值为1,

2015-11-30 08:29:15 371

原创 (第八周项目5)计数的模式匹配

采用顺序结构存储串,编写一个算法计算指定子串在一个字符串中出现的次数,如果该子串不出现则为0。提示:无论BF模式匹配算法,还是KMP算法,都是在找到子串substr后就退出了。解决这个问题,要查找完整个字符串,并将出现的次数记下来。改造这两个算法吧。#include #include "sqString.h"int str_count(SqString s,SqString

2015-11-28 20:50:46 400

原创 (第八周项目4)字符串加密

一个文本串可用事先编制好的字符映射表进行加密。例如,设字符映射表为: abcdefghijklmnopqrstuvwxyzngzqtcobmuhelkpdawxfyivrsj则字符串“lao he jiao shu ju jie gou”被加密为“enp bt umnp xby uy umt opy”。 设计一个程序,实现加密、解密算法,将输入的文本进行加密后输出,然后进行

2015-11-28 20:48:01 357

原创 (第八周项目3)顺序串算法

采用顺序存储方式存储串,实现下列算法并测试:   (1)试编写算法实现将字符串S中所有值为c1的字符换成值为c2的字符: void Trans(SqString *&s, char c1, char c2);   (2)试编写算法,实现将已知字符串所有字符倒过来重新排列。如ABCDEF改为FEDCBA。 void Invert(SqString &s)   (3)从串s

2015-11-28 20:45:40 373

原创 (第八周项目2)建立链串的算法库

定义链串的存储结构,实现串的基本运算,并完成测试。1.头文件typedef struct snode{ char data; struct snode *next;} LiString;void StrAssign(LiString *&s,char cstr[]); //字符串常量cstr赋给串svoid StrCopy(LiString *&s,LiStr

2015-11-28 20:42:27 366

原创 (第八周项目1)建立顺序串的算法库

第八周(串)总汇定义顺序串的存储结构,实现其基本运算,并完成测试。 (1)建立串s:abcdefghijklmn和串s1:123 (2)输出串s和s1 (3)输出串s的长度 (4)在串s的第9个字符位置插入串s1而产生串s2 (5)输出串s2 (6)删除串s第2个字符开始的5个字符而产生串s2 (7)输出串s2 (8)将串s第2个字符开始的5个字符替换成

2015-11-28 20:37:49 307

原创 (第七周项目6)停车场模拟

设停车场是一个可停放n辆汽车的狭长死胡同,南边封口,汽车只能从北边进出(这样的停车场世间少有)。汽车在停车场内按车辆到达时间的先后顺序,最先到达的第一辆车停放在车场的最南端,依次向北排开。若车场内已停满n辆汽车,则后来的汽车只能在门外的候车场上等候,一旦有车开走,则排在候车场上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路(假定停车场内设有供车辆进出的便道,

2015-11-20 09:30:17 444

原创 (第七周项目5)排队看病模拟

编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事: (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。 (2)护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊。 要求模拟病人等待就诊这一过程。程序采用菜单方式,其选项及功能: (1)排队——输入排队病人的病历号,加入到病人排队队列中。 (2)就诊——病人排队队列中最前面的病人就

2015-11-20 09:29:00 705

原创 (第七周项目4)队列数组

创建10个队列,分别编号为0-9(处理为队列数组,编号即下标)。输入若干个正整数,以数字0作为结束。设输入的值为x,其个位数字的大小为i,则将x插入到编号为i的队列中。最后输出所有的非空队列。要求将队列处理成链式队列,使用链式队列算法库中定义的数据类型及算法,程序中只包括一个函数(main函数),入队和出队等操作直接在main函数中调用即可。 设程序运行时输入:70 59 90 7

2015-11-20 09:23:09 285

原创 (第七周项目3)负数把正数赶出队列

设从键盘输入一整数序列a1,a2,…an,试编程实现:当ai>0时,ai进队,当ai<0时,将队首元素出队,当ai=0时,表示输入结束。要求将队列处理成环形队列,使用环形队列算法库中定义的数据类型及算法,程序中只包括一个函数(main函数),入队和出队等操作直接在main函数中调用即可。当进队出队异常(如队满)时,要打印出错信息。 #include #include #in

2015-11-20 09:16:24 434

原创 (第七周项目2)建立链队算法库

定义链队存储结构,实现其基本运算,并完成测试。 1.头文件typedef char ElemType;typedef struct qnode{ ElemType data; struct qnode *next;} QNode; //链队数据结点类型定义typedef struct{ QNode *front;

2015-11-20 09:14:26 462

原创 (第七周项目1)建立顺序环形队列算法库

定义顺序环形队列存储结构,实现其基本运算,并完成测试。 main函数包括:(1)初始化队列q (2)依次进队列元素a,b,c (3)判断队列是否为空 (4)出队一个元素 (5)输出队列中元素个数 (6)依次进队列元素d,e,f (7)输出队列中元素个数 (8)将队列中所有元素删除,并输出序列 (9)释放队列1.头文件#define MaxSize 5typedef char Ele

2015-11-20 09:07:51 395

原创 (第六周项目5)后缀表达式

利用sqstack.h中栈的基本运算,实现将一个中缀表达式转换为对应的后缀表达式的算法。例如,输入(56-20)/(4+2),输出后缀表达式::56#20#-4#2#+/要求在数字后加##include #include #include "sqstack.h"#define MaxOp 7struct //设定运算符优先级{ char ch; //运算

2015-11-16 16:42:52 292

原创 (第六周项目4)数制转换

把十进制的整数转换为二至九之间的任一进制数输出。请利用栈设计算法,并实现程序。提示:要转换为r进制,则原来的数逐次除以基数r(除完之后用商再除),直到商为0,得到的一系列余数的逆序就是转换结果。逆序,后进先出。#include #include "sqstack.h"void MultiBaseOutput (int number,int base){ //假设num

2015-11-16 16:38:44 426

原创 (第六周项目3)括号的匹配

假设表达式中允许三种括号:圆括号、方括号和大括号。编写一个算法,判断表达式中的各种左括号是否与右括号匹配。例如,输入2+(3+4)*[2+{[3]}]-8,输出匹配正确;输入2+(3+4*[2)+{[3]}-8,输出匹配错误。提示:(1)遇到左括号入栈,遇到右括号后,出栈一个符号,看是否配对。若配对,继续,直到读完所有的符号,栈也正好为空。若在中间出现一个不配对的,或者____________

2015-11-16 16:31:09 477

原创 (第六周项目2)建立链栈算法库

定义链栈存储结构,实现其基本运算,并完成测试。 1.头文件:listack.htypedef char ElemType;typedef struct linknode{ ElemType data; //数据域 struct linknode *next; //指针域} LiStack;

2015-11-16 16:26:45 384

原创 (第六周项目1)建立顺序栈算法库

建设自己的专业基础设施算法库。  #define MaxSize 100typedef char ElemType;typedef struct{ ElemType data[MaxSize]; int top; //栈指针} SqStack; //顺序栈类型定义void InitStack

2015-11-16 16:25:23 345

空空如也

空空如也

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

TA关注的人

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