自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 串的模式匹配算法

代码说明:KMP算法大致和BF算法不同之处在于,当发现字符不匹配时主串i不在回溯而是停留在匹配时的位置 ,回溯的仅仅是子串j的位置,这就由代码中的next【】决定了,具体代码应用时需要将上述代码中的next换成调用其的函数(上述代码只是说明作用)2、当子串中的:j!代码说明:其中的S为主串,T为模式串,(两个串都是只存储了字符的线性表),且字符的比较位置都是从1开始,i代表字符在主串中的位置,j代表字符在模式串中的位置。j=3时:前面为ab则前后比较发现无相同字符,所以n=0,k=0+1,next=1。

2024-08-07 09:16:56 338

原创 队列的创建和基本使用

该代码中定义了两个结构体:主要原因是,在使用链队中指针front和rear都同时需要两个变量的数据类型所以,第一个结构体变量是为第二结构体所需的数据类型所定义的。代码中的Status 和上述的QElemType一样为自己根据需要求定义的数据类型。补充说明:因为上述代码中队采用的是循环队列,所以其队空时和队满时的条件相同。代码中的QElemType为自行定义的数据类型,可根据需要自行定义。代码中的Status为自行定义的数据类型,可根据需要自行定义。解决该问题的方案有:1、另外设一个标志以区别队空和队满。

2024-08-06 21:52:17 360

原创 栈的创建和基本使用

为C语言方式的分配存储空间。代码中为C++的方式(释放空间时使用delete),C语言释放空间则使用free。所以和线性表一样根据存储方式的不同可以将栈分为顺序栈和链栈。栈是操作受限的线性表,即栈只能在表尾进行插入删除的操作。代码中的Status是根据自己需要自行定义的数据类型。链栈:运算受限的单链表,只能在链表头部进行操作。栈中的元素个数=top - base。2、获取栈顶元素e、

2024-08-06 10:00:09 399

原创 双向链表和循环链表

而整个结构体则是因为链表所需要存储的数据要多个不同数据类型,因此采用结构体的形式将其定义在结构体中,所以可以将结构同样看成一个数据类型(内部包含多个数据类型)1、循环链表的结构体定义和其他功能与链表大致相同,不同之处在于其初始化时尾指针(最后一个元素的指针)是指向头结点的再将两者置空完成初始化。结合了双向链表和循环链表的特性,一个结点中存在着两个结点,一个指向前驱一个指向后继。再就是头结点的前驱指向最后一个结点,最后一个结点的后继指向头结点,形成双向循环。2、两个循环链表的合并。Ta和Tb为两个链表。

2024-08-05 21:31:48 260

原创 链表的创建

即:L = (LinkList)malloc(sizeof(Londe));否则链表初始化无法传入主函数中。这里需要注意的是在主函数中需要在声明定义了链表后,紧接着分配该链表的存储空间。首元结点:是指链表中存储第一个数据元素的结点。头结点:是在链表的首元结点之前附设的一个结点。2、按所给位置查找(返回对应位置的数据域)7 1、按值查找(返回其对应的位置)头指针:是指向链表中第一个结点的指针。6、取单链表中第i个元素的内容。链式线性表的创建(顺序存取)1、创建链表的结构体。

2024-08-01 22:12:03 392 1

原创 线性表(顺序表创建)

先找到需要插入位置的元素,确定以此为分界线,前面存储的元素不变,从该数起到所存储的最后一个元素为止,倒着从最后一个元素开始后移一位,为要插入的数腾出空间,插入后表长加一。先找到要删除的位置,以该位置到最后一个元素为止,将该元素的后一个元素存入该元素的位置覆盖要删除的元素,后面的元素依次往前覆盖,直到最后一个元素覆盖完。顺序表实际上就是将将元素存入一个数组中,只不过这存入的每个元素所包含的数据。线性表的创建主要利用了c语言中的结构体和指针,是对它们的更深层次的理解。代码中的参数L为创建的线性表。

2024-08-01 14:27:38 457

原创 结构体相关案例

格式: typedef struct 结构体名字 {后面如果要使用该结构体直接使用别名即可。其中联系方式也是一个结构体里面包含手机号,电子邮箱。要求把这三个学生信息放入到数组当中,并遍历数组。格式: struct 结构体名字 {里面的成员如下:姓名,年龄,联系方式。注意:此时的结构体的名字可有可无,定义一个函数修改学生的中的数据。学生的属性有:姓名、年龄。定义一个结构体表示学生。定义一个结构体表示学生。学生的属性:姓名,年龄。定义一个结构体表示学生。

2024-07-25 11:27:10 383

原创 字符串的相关案例和string库函数的使用

字符串的存储特性:在存储过程中字符串都会在末尾自动添加一个结尾标志符\0。统计键盘输入的字符串中有多少个大写,小写,和数字。定义一个数组存储5个学生的名字并进行遍历。键盘录入一个字符串,并遍历出来。strlwr:将字符串变成小写。strupr:将字符串变成大写。strlen:获取字符串长度。strcat:拼接两个字符串。strcmp:比较两个字符串。strcpy:复制字符串。

2024-07-24 20:54:00 436

原创 C语言:函数指针

1.加法 2.减法 3.乘法 4.除法。定义加、减、乘、除四个函数。前两个表示参与计算的数字。第三个数字表示调用的函数。

2024-07-24 10:04:47 744 1

原创 二维数组的相关案例

使用指针遍历二维数组。

2024-07-23 21:30:10 279

原创 指针的相关案例

这个函数相当于将a和b中的数值复制一份传给该函数。数值,实际上这两个数值所代表的变量并没有交换。所以交换也仅仅是10和30这两个数字而已。原因:该函数接收的只是两个数值,所以交换的也只是这两个。a依旧等于10,b依旧等于30。从运算结果来看很显然,并没有交换两个变量的值。下面带来一个类似的案例来加深对于指针的理解。对于a和b并没有影响。定义格式:数据类型 * 指针名。求一个数组中的最大值和最小值。使用void指针交换两个变量。指针:存储内存地址的变量。使用指针交换两个变量的值。

2024-07-23 16:13:48 352

原创 C语言数组的相关案例

因为每次向数组添加一个随机数时我们都需要检测一下数组中是否有元素与其重复。如下代码中的fun函数将要添加的随机数与数值中的每一个元素都比较一遍。数组的遍历:这里需要注意的是我们在遍历数组时是使用for循环,这里则需要计算数组的长度。如果有相同的则返回1反之为0,这样当我们每次要添加元素时就可以通过。在本代码中:将max < arr[i] 中的小于号换成大于号,求出来的则为最小值。思路:本题主要重点是如何时数组不重复,也是本题首先要解决的问题。生成10个1-100之间的随机数存入数组,要求数组数不重复。

2024-07-22 10:28:26 373

原创 C语言随机数的生成相关案例

则可以: rand()%((1+num2)-num1)+num1;假设想要生成的范围为 num1 ----num2。2、生成范围为17-39之间的随机数且不包括39。1、种子的值固定不变则,可以将初始值变成时间戳。1、生成范围为12-87之间的随机数。1、设置种子:srand(初始值)通过for循环简单生成10个随机数。1、种子不变则生成的随机数是固定的。2、获取随机数:rand();猜字游戏在范围为1-100中。2、随机数的范围无法确定。

2024-07-21 20:43:28 479

原创 for循环的相关案例

如果,将内循环改成 j=5;j-- 即打印的图形变为倒三角。打印5行5列的正三角型。打印7行8列的 星号。

2024-07-21 20:23:51 235

原创 C语言两数相除(要求只能使用加法和减法)求商和余数

9/3=3 9-3=6 6-3=3 3-3=0 减了3次 最后一次为0。10/3=3余1 10-3=7 7-3=4 4-3=1 减了3次 最后一次为1。思路分析:举个例子如 8/3 =2余2 8-3=5 5-3=2 减了2次 最后一次结果为2。所以可以得出规律为:被除数 减去除数结果大于等于0的次数为商 最后一次结果为余。

2024-07-19 21:25:20 534

原创 while进阶相关案例

然后再将其与原数相比较相同则为回文数反之则不是。只需要将案例1中的方法照搬过来先求出反转后的数。引导案例:键盘输入一个3位数控制台返回其反转后的数。案例1:输入一个数使用while将其反转。案例2:判断键盘输入的数是否为回文数。

2024-07-19 21:21:34 316

原创 while循环的简单相关案例

2^0=1 观察可以发现每一个数都是前一个数的2倍。2^1=2 且一直除以2最终都可以得到1。珠穆朗玛峰的高度为8844.43米,这里有一张厚度为0.1毫米的纸。案例1:键盘输入一个数判断是否是2的幂次方。需要折叠多少次才能大于等于珠穆朗玛峰的高度。通过列举一些2的幂次方来观察规律。

2024-07-19 20:52:37 250

原创 if语句的简单应用

案例2:对于某人的好感度大于60则输出我喜欢你,反之则输出我不喜欢你。(该案例使用了if 、 else if 和else)案例1:体温测量当温度超过37.5℃会有提示语句出现。案例3:成绩分析,根据不同的成绩分段输出相应的奖励。(该案例简单应用了if的判断属性)(该案例使用了if else )

2024-07-19 20:37:43 258

原创 C语言switch的使用

2.case值只能是(字符/整数)的字面量,不能是变量。5.default当所有情况都不匹配时执行它的语句。4.break表示中断,结束switch语句。3.case值不能重复。注意事项:1.表达式计算结果只能为(字符/整数)案例:输入月份控制台返回对应的季节。switch(表达式) {switch的使用语句。

2024-07-18 22:51:19 212

原创 C语言:键盘录入案例

键盘录入一个两位数,不能包含7且不能是7的倍数,符合则返回1,不符合则返回0。案例3:键盘录入长方形的长、宽、高,求面积和体积。用于接收键盘输入的数据并赋值给对应的变量。scanf("占位符",&变量名);案例2: 键盘录入判断问题。占位符后面的的变量要对应。第一个参数中不写换行。案例1:键盘录入求和。

2024-07-18 22:37:13 430

原创 JavaScript统计字符串中出现次数最多的字符

最后通过for in循环比较对象中个属性值大大小然后将其打印出来。思路:使用charAt()方法可以通过for循环来依次遍历出字符串中的字符。如果该对象中该属性没有值则对其赋值为1。如果该对象中已经有值了则在原基础上加1。将遍历出来的字符作为一个空对象的属性。

2024-07-16 15:57:29 222

原创 JavaScript字符串对象查找字符出现次数

2.而且想要继续往后查找则需要跳过前一个已经查询了的字符的位置,则可以在原先位置加 1后再查找。3.将2中的信息放入循环中则可以将整个字符串都查询一遍循环退出条件为当查询结果为-1时 结束。思路:1.根据indexOf()方法的特性只会返回要查找的字符出现再字符串中的第一次的位置。查找字符串中某个字符出现的次数。

2024-07-14 13:59:20 333

原创 JavaScript数组对象去重案例

当发现空数组中有和去重数组中有相同元素时则条出本次循环不在将该元素存入该素组中。将需要去重的数组在for循环中依次遍历存入空数组中。可以创建一个空数组,用来承接需要去重的数组中的元素。

2024-07-14 13:42:46 266

原创 JavaScript猜数字案例(使用了random方法生成随机数和Math内置对象)

当刚好等于时立即退出循环并提示猜对了(代码中whlie循环不为死循环即当猜了10没猜中 后也会退出循环)当输入的数大于生成的随机数时提示大于了,小的时候提示小于了。思路: 使用random方法生成规定范围内的随机数(代码中为1-50)

2024-07-14 13:32:39 237

原创 JavaScript日期对象倒计时案例

4.最后将所求的倒计时剩余时间转换为天,小时,分钟,秒即可。3.用所求时间的减去当前时间的可得到倒计时剩余时间。2.再求出所需要求的时间的总毫秒数。思路:1.先求出当前时间的总毫秒数。

2024-07-14 13:21:18 403

原创 JavaScript创建对象的三种方法

var 对象名 = { } //创建格式。3.构造函数创建对象(可以创建多个对象)只需要改变对象名和参数则可以。

2024-07-13 16:14:30 429

原创 JavaScript通过函数调用的方法实现简易加算计机功能

3.然后调用函数并创建一个变量赋值给这个变量,随后通过发改变调用函数内的 参数既可以选择想要进行的运算。2.函数体则通过switch来通过承接到的符号选择相应的运算方式。代码说明:1先创建一个函数包含三个形参(一个用于传递运算符号,另外两个用于传递数)4.最后输出变量即可。

2024-07-12 21:14:50 1070

原创 JavaScript数组冒泡排序

4.再内部循环内部编写函数体(当前一个元素大于后一个元素则交换位置)3.内部循环用来确认每一趟需要比较的次数。2.外部循环用来确认比较的趟数。思路:1.冒泡排序需要用到双层for循环。

2024-07-12 13:07:54 1372

原创 JavaScript打印乘法表

说明:打完代码按(ctrl + s)保存,后按(Alt+B)进入网页,并在网页输入要打印的为几 阶乘法表,(图中所表示的时九阶乘法表)然后按F12则可以查看输出了。

2024-07-11 20:52:38 1214

原创 JavaScript简易ATM机功能

3.在while循环中使用switch并对应开头所填写的数字,这里要注意的是要将开始创建 用于switch的作为条件的变量强制转换为数字型。2. 随后使用while循环确保只有当我们在选用switch的对应选项时才会停止界面,否 一直循环。4.最后要将已退出的警示框写在循环外,并将它所对应的数字作为跳出循环的条件。说明:该代码包含了while循环和switch的使用,还有一些简单的加减法运算。

2024-07-10 20:23:57 810

原创 键盘输一个数,打印对应阶乘的乘法表

【代码】键盘输一个数,打印对应阶乘的乘法表。

2024-07-08 17:06:35 283

原创 Java编写程序练习list集合

1.按顺序往集合中添加5个字符串对象:“tom”,”linda”,”jack”,”alice”,”bob”。2.对集合进行遍历,分别打印集合中的每个元素的位置与内容。3.打印集合的大小,然后删除第3个元素后,倒序遍历集合。

2024-07-05 22:32:22 909

原创 Java统计大串中小串出现的次数

举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出现了5次.

2024-07-04 13:36:49 1089

原创 定义int a =67945623,找出a中数字最大的值和最小值

【代码】定义int a =67945623,找出a中数字最大的值和最小值。

2024-07-02 19:23:29 160

原创 在程序中定义抽象类Shape、Shape的子类Rectangle

(2)子类Rectangle为矩形类,包含两个成员变量,分别为矩形的长和宽,并为Rectangle类编写适当的构造方法。痛过覆盖父类的抽象方法area来求矩形的面积,覆盖girth()来求矩形的·周长。(1)抽象类Shape中包含两个抽象方法area()、和girth()

2024-07-02 16:10:51 274

原创 设计一个父类和一个子类,1、实现子类重写父类的方法 2、通过多态的方式创建对象,并访问子类的成员变量和成员方法。

【代码】设计一个父类和一个子类,1、实现子类重写父类的方法 2、通过多态的方式创建对象,并访问子类的成员变量和成员方法。

2024-07-01 21:37:12 178

原创 Java设计3个类,分别为学生类 Student,本科类Undergraduate,研究生类Postgraduate用于计算成绩等级。

请输入要查询的本科生成绩。

2024-07-01 12:07:45 251

原创 定义一个长方形类,定义求周长和面积的方法 ,然后定义 一个测试类 Test2,进行测试。

矩形的面积为:9.659999。矩形的周长为:13.0。

2024-06-30 20:43:26 288

原创 创建数组类MyArray,实现数组遍历、数组倒序、求最大值等 功能,并创建类Demo测试MyArray功能

请给定一个数作为数组的大小。

2024-06-30 10:39:04 340

原创 在控制台键盘输入任意整数输出对应的乘法表

【代码】在控制台键盘输入任意整数输出对应的乘法表。

2024-06-29 12:28:53 272

空空如也

空空如也

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

TA关注的人

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