自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java StreamTokenizer类读入由纯数字组成的字符串

最近学习了StreamTokenizer类的使用,这个类的读入非常迅速,它可以获取输入流并将其分析为Token(标记)。在实际使用过程中,发现以下问题:当输入的字符串为数字时,该串不会被读取。查阅资料后得知sval读取的是被定界符所包围的单词,单词是由一个单词要素后面跟着0个或者更多个单词要素或者数字要素组成的,而数字不是单词要素,例如,添加单词要素后:所以我们得先将数字转化为单词要素后再读入,由此得到以下代码: in.ordinaryChars('0', '9') ; in.wordCh

2021-11-07 17:19:18 1174 7

原创 求一个串中出现的第一个最长重复字串

求一个串中出现的第一个最长重复字串目的:掌握串的模式匹配应用算法设计。内容:采用顺序结构存储串,编写一个程序,利用简单模式匹配方法求串s中出现的第一个最长重复子串的下标和长度。程序代码void MaxStr(char* Str, int& i, int& j){ int idx, max = 1; //idx为当前扫描到的下标,max为当前扫描的长度 char c = Str[0]; i = 0; j = 1; //i为起始下标,j为当前最大子串长度 for (idx =

2021-09-15 01:06:54 1220

原创 文本串加密和解密程序

文本串加密和解密程序目的:掌握串的应用算法设计。内容:一个文本串可用事先给定的字母映射表进行加密。例如,设字母映射表为:a b c d e f g h i j k l m n o p q r s t u v w x y zn g z q t c o b m u h e l k p d a w x f y i v r s j则字符串“encrypt”被加密为“tkzwsdf”。编写一个程序,将输入的文本串加密后输出,然后进行解密并输出。思路:建立两个字符串,其中一个为原字母表,另一个为映射字母表,

2021-09-14 21:22:26 6018

原创 实现顺序串的各种模式匹配算法

实现顺序串的各种模式匹配算法目的:掌握串的模式匹配算法(即BF和KMP算法)设计。内容:编写一个程序,实现顺序串的各种模式匹配运算,并在此基础上完成以下功能。(1):建立目标串s="abcabcdabxdeabcdefabcdefg"和...

2021-09-14 20:17:40 4147

原创 C语言实现链串基本操作

C语言实现链串基本操作通过调用简单函数实现顺序串的相关操作,其中大部分操作其实都可以通过string.h中的函数实现,所以这里的操作仅供理解,目的是领会链串存储结构和掌握链串中的各种基本运算算法设计。代码编译环境为VS2019 16.11.2。因为VS的某些原因,scanf写为了scanf_s,作用是一样的,在其他编译环境中可将scanf_s改回去。#include<stdio.h> //输入输出头文件#include<stdlib.h> //标准库头文件#include

2021-09-09 01:22:05 886

原创 C语言实现顺序串基本操作

C语言实现顺序串基本操作通过调用简单函数实现顺序串的相关操作,其中大部分操作其实都可以通过string.h中的函数实现,所以这里的操作仅供理解。代码编译环境为VS2019 16.10.0。因为VS的某些原因,scanf写为了scanf_s,作用是一样的,在其他编译环境中可将scanf_s改回去。#include<stdio.h> //输入输出头文件#include<stdlib.h> //标准库头文件#include<stdbool.h> //C语言布尔类型

2021-06-09 02:06:29 2176

原创 求解栈元素排序问题

求解栈元素排序问题目的:掌握栈应用的算法设计内容:按升序对一个字符栈进行排序,即最小元素位于栈顶,最多只能使用一个额外的栈存放临时数据,并输出栈排序过程。思路:因为没有限制排队人数,故采用链队结构,然后利用队列的基本操作实现程序的功能。定义结构体:算法实现与主函数相结合...

2021-06-04 19:33:11 1899

原创 编写病人看病模拟程序

编写病人看病模拟程序目的:掌握队列应用的算法设计内容:编写一个程序,反应病人到医院排队看医生的情况。在病人排队过程中主要重复下面两件事。1:病人到达诊室,将病历本交给护士,排到等待队列中候诊。2:护士从等待队列中取出下一位病人的病例,该病人进入诊室候诊。要求模拟病人等待就诊这一过程。程序采用菜单方式,其选项及功能说明如下:1):排队——输入排队病人的病历号,加入到病人排队队列中;2):就诊——病人排队队列中最前面的病人就诊,并将其从队列中删除;3):查看排队——从队首到队尾列出所有的排队病人

2021-05-14 00:44:59 5829 1

原创 用栈求解迷宫问题的所有路径及最短路径程序

用栈求解迷宫问题的所有路径及最短路径程序目的:掌握栈在求解迷宫问题中的应用内容:编写一个程序,输出如图所示的迷宫的所有路径,并求第一条最短路径长度及最短路径思路:使用一个栈记录当前最短路径,当所有路径找完时,该栈中记录的就是第一条最短路径输入迷宫(“0”为通道,“1”为障碍物):int map[6][6] ={ {1,1,1,1,1,1},{1,0,0,0,1,1}, {1,0,1,0,0,1},{1,0,0,0,1,1}, {1,1,0,0,0,1},{1,1,1,1,1,1},};

2021-05-13 01:12:55 8150 6

原创 C语言实现链队基本操作

C语言实现链队基本操作(以简单排队问题为例)通过调用简单函数实现顺序表的相关操作。代码编译环境为VS2019 16.9.4。因为VS的某些原因,scanf写为了scanf_s,作用是一样的,在其他编译环境中可将scanf_s改回去。建议运行后体验:#include<stdio.h> //输入输出头文件#include<stdlib.h> //标准头文件#include<stdbool.h> //布尔类型头文件typedef long long int Ele

2021-05-11 20:37:26 329

原创 C语言实现环形队列基本操作

C语言实现环形队列基本操作(以简单排队问题为例)通过调用简单函数实现顺序表的相关操作。代码编译环境为VS2019 16.9.4。因为VS的某些原因,scanf写为了scanf_s,作用是一样的,在其他编译环境中可将scanf_s改回去。建议运行后体验:#include<stdio.h> //输入输出头文件#include<stdlib.h> //标准头文件#include<stdbool.h> //布尔类型头文件#define MaxSize 100typ

2021-05-10 23:55:25 1693

原创 C语言实现链栈基本操作

C语言实现链栈基本操作(以括号是否配对为例为例)通过调用简单函数实现顺序表的相关操作。代码编译环境为VS2019 16.9.4。因为VS的某些原因,scanf写为了scanf_s,作用是一样的,在其他编译环境中可将scanf_s改回去,gets_s同理。代码功能:读入 一个字符串,判断其中的“{” 和 “}”,“[” 和 “]”,“(” 和 “)”是否配对#include<stdio.h> //输入输出头文件#include<stdlib.h> //标准头文件#includ

2021-04-29 21:34:46 2150

原创 C语言实现顺序栈基本操作

C语言实现顺序栈基本操作(以括号是否配对为例为例)通过调用简单函数实现顺序表的相关操作。代码编译环境为VS2019 16.9.4。因为VS的某些原因,scanf写为了scanf_s,作用是一样的,在其他编译环境中可将scanf_s改回去,gets_s同理。代码功能:读入 一个字符串,判断其中的“{” 和 “}”,“[” 和 “]”,“(” 和 “)”是否配对#include<stdio.h> //输入输出头文件#include<stdlib.h> //标准头文件#inclu

2021-04-23 11:54:13 723 1

原创 求两个多项式的相加运算

求两个多项式的相加运算目的:掌握线性表的应用和有序单链表的二路归并算法设计。内容:用单链表储存一元多项式,并实现两个多项式的相加运算。思路:用结点存储系数和指数,遇到指数相同的结点就使其系数相加,将其放在第三个链表中。定义结构体:typedef int ElemType;typedef struct LNode{ ElemType coe; //系数 ElemType exp; //指数 struct LNode* next;}LinkNode;算法实现bool Addition

2021-04-09 11:25:20 2702

原创 求集合(用单链表表示)的并、交和差运算

求集合(用单链表表示)的并、交和差运算目的:掌握单链表的应用和有序单链表的二路归并算法。内容:采用单链表表示集合(假设同一个集合中不存在重复的元素),将其按递增方式排序,构成有序单链表,并求这样的两个集合的并、交和差。思路(并):同时扫描两个链表,将不相同的元素放在第三个链表中。...

2021-04-09 00:29:51 8409 1

原创 将两个单链表合并为一个单链表

将两个单链表合并为一个单链表(C语言实现)目的:掌握单链表的应用和算法设计内容:L1 =(x1, x2, …, xn ),L2 =(y1, y2, …, ym ),他们是两个线性表,采用带头结点的单链表存储,设计一个算法合并L1、L2,结果放在线性表L3中。要求:L3 = (x1, y1, x2, y2, …, xm, ym, x(m+1), xn) m<=nL3 = (x1, y1, x2, y2, …, xn, yn, y(n+1), ym) m>nL3仍采用单链表存储,算法的

2021-04-05 22:19:21 14510 1

原创 将单链表按基准划分

将单链表按基准划分(C语言实现)目的:掌握单链表的应用和算法设计内容:以给定值x为基准将单链表分割为两部分,所有小于x的结点排在大于或等于x的结点之前。思路:创建一个新的头结点,将小于基准的结点接到新的头结点之后并将其从原本的链表中删除,然后再将新的链表接到原本的链表之前。算法实现:bool DivideList(LinkNode*& L, ElemType x) //L为传入的链表头结点,x为传入的基准{ if (L->next==NULL) { printf("单链表不存

2021-04-05 20:28:43 6092

原创 C语言实现双链表基本操作

C语言实现双链表基本操作(以班级信息管理为例)通过调用简单函数实现双链表的相关操作。代码编译环境为VS2019 16.9.3。//下列的scanf_s和scanf基本相同,是VS特有函数,不可以跨平台使用,若要在其他IDE执行代码,请改为scanf#include<stdio.h>#include<stdlib.h>#include<stdbool.h>#define LL long long inttypedef struct student Elem

2021-04-02 22:33:31 183

原创 C语言实现单链表基本操作

C语言实现单链表基本操作(以班级信息管理为例)通过调用简单函数实现顺序表的相关操作。代码编译环境为VS2019 16.9.2。//下列的scanf_s和scanf基本相同,是VS特有函数,不可以跨平台使用,若要在其他IDE执行代码,请改为scanf#include<stdio.h>#include<stdlib.h>#include<stdbool.h> //C语言布尔类型头文件#define LL long long inttypedef struc

2021-04-01 01:08:35 582 1

原创 C语言实现顺序表基本操作

C语言实现顺序表基本操作通过调用简单函数实现顺序表的相关操作。代码编译环境为VS2019 16.9.2。因为VS的某些原因,scanf写为了scanf_s,作用是一样的,在其他编译环境中可将scanf_s改回去。#include<stdio.h> //输入输出头文件#include<stdlib.h> //标准库头文件#include<stdbool.h> //C语言布尔类型头文件struct student //学生信息结构体{ char na

2021-03-26 18:07:52 369

空空如也

空空如也

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

TA关注的人

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