自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 字符串匹配_KMP算法_C语言

文章目录一、KMP是什么?二、前缀表三、prefix和next数组一、KMP是什么?KMP 算法(Knuth-Morris-Pratt 算法)是一个著名的字符串匹配算法KMP分别取三个学者名字的首字母KMP:当字符串出现不匹配的情况下,不再重复进行前一部分已经匹配成功的内容,避免从头匹配。二、前缀表前缀表是用来回退使用的,他记录了模式串和主串发生不匹配的时候,模式串应该从哪里开始重新匹配,应该回退几个。前缀表:记录下标i之前(包括i)的字符串中,有多大长度的相同前后缀,即最大公共前后缀。前

2022-05-27 06:00:00 728 10

原创 数据结构与算法_字符串暴力匹配_C语言

文章目录一、思路二、代码实现一、思路二、代码实现#include <stdio.h>#include <stdlib.h>typedef struct String { char* data; int len;} String;//初始化字符串,返回一个字符串String* initString() { String* s = (String*)malloc(sizeof(String)); s->data = NULL;

2022-05-18 08:43:07 570 18

原创 数据结构_循环队列_C语言

文章目录一、存储结构二、函数列表三、完整代码一、存储结构typedef struct Queue { int front; int rear; int data[MAXSIZE];} Queue;二、函数列表Queue* initQueue()初始化循环队列void printQueue(Queue* Q)遍历队列int isFull(Queue* Q)判断队列是否已经满了int isEmpty(Queue* Q)判断队列是否为空int enQueue(Qu

2022-05-14 09:21:57 283 13

原创 数据结构_队列_C语言

文章目录一、存储结构二、函数列表三、完整代码一、存储结构typedef struct Node { int data; struct Node* next; struct Node* pre;} Node;二、函数列表Node* initQueue() 初始化队列void enQueue(Node* Q, int data)入队,把data放入Q中int isEmpty(Node* Q)判断队列是否为空int deQueue(Node* Q)出队void

2022-05-14 09:06:41 380 6

原创 数据结构_栈_C语言

文章目录一、存储结构二、函数列表三、完整代码一、存储结构typedef struct Node { int data; struct Node *next;} Node;二、函数列表Node *initStack()初始化栈void push(Node *L, int data)进栈,把元素data压入栈int pop(Node *L) 出栈int isEmpty(Node *L)判断栈是否为空void printStack(Node *stack)遍历栈,打印每

2022-05-13 09:34:31 457 7

原创 数据结构_双链表_C语言

文章目录一、双链表1.1概念1.2初始化1.3头插法1.4尾插法1.5结点的删除1.6链表的遍历1.7 main二、双循环链表提示:以下是本篇文章正文内容,下面案例可供参考一、双链表1.1概念双向链表是一种复杂类型的链表,它的节点包含指向序列中前一个节点和下一个节点的指针。 因此,在双向链表中,节点由三部分组成:节点数据,指向下一个节点的指针(next指针),指向前一个节点的指针(prev指针)。 双向链表中的示例节点如图所示。1.2初始化typedef struct Node {

2022-05-10 13:14:24 210 15

原创 数据结构_单循环链表_C语言实现

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录二、使用步骤1.引入库2.读入数据总结单循环链表如果把单链表的最后一个节点的指针指向链表头部,而不是指向NULL,那么就构成了一个单向循环链表,通俗讲就是把尾节点的下一跳指向头结点。初始化typedef struct Node { int data; struct Node* next;}Node;Node* initList() { Node* L = (Node*)malloc(s.

2022-05-09 16:46:58 586 25

原创 单链表C语言版本

文章目录前言一、基础概念二、单链表操作总结前言新人小白学习记录,个人学习笔记如有错误,还请指正,感谢各位。一、基础概念链表:链表是一种物理存储上非连续,数据元素的逻辑顺序通过链表中的指针链接次序,实现的一种线性存储结构。特点:链表由一系列节点(链表中每一个元素称为节点)组成,节点在运行时动态生成(malloc),每个节点包括两个部分:一个是存储数据元素的数据域另一个是存储下一个节点地址的指针域二、单链表操作定义typedef struct Node { int data

2022-05-08 14:42:30 111 1

原创 C语言基础教程_文件操作

文章目录前言一、文件的概念1.1文件的定义1.2磁盘文件的分类二、文件指针三、打开文件fopen四、关闭文件fclose五、一次读写一个字节5.1 fgetc5.2 fputc六、一次读写一个字符串6.1 fgets6.2 fputs七、读文件八、写文件fwrite九、格式化读写文件函数十、随机读写10.1rewind10.2ftell10.3 fseek总结前言本篇主要记录C语言对文件的一些基础操作如有错误,敬请指正。博客主页:播客主页欢迎各位点赞收藏关注留言,谢谢各位共同学习,一起进步

2022-05-04 09:38:23 2457 2

原创 C语言基础教程_链表

文章目录前言一、链表的概念1.1定义1.2特点1.3链表的构成1.4链表的操作二、链表的创建三、链表的遍历四、链表的释放五、链表结点的查找六、链表结点的删除七、链表中插入一个结点八、链表排序九、链表的逆序十、双向链表10.1双向链表的创建和遍历10.2双向链表结点的删除10.3双向链表插入结点总结前言博客主页:博客主页欢迎大家点赞收藏关注留言,如有错误,敬请指正共同学习,一起进步。一、链表的概念1.1定义链表是一种物理存储上非连续,数据元素的逻辑顺序通过链表中的指针链接次序,实现的一种线性

2022-05-03 09:00:53 586 2

原创 C语言基础教程_结构体_共用体_枚举

文章目录前言一、结构体类型概念和定义1.1基本概述1.2结构体概念1.3结构体类型的定义1.3.1先定义结构体类型,再定义结构体变量1.3.2在定义结构体类型的时候定义结构体变量,以后还可以定义结构体变量1.3.3无名结构体定义1.3.4给结构体类型取别名二、结构体变量的定义和初始化2.1结构体便来给你的定义和初始化2.2结构体变量的使用2.2.1结构体变量的简单使用2.2.2在结构体中嵌套结构体2.3相同类型的结构体变量可以相互赋值三、结构体数组3.1结构体数组定义方法3.2结构体数组元素的引用3.3结构

2022-05-02 10:09:26 356

原创 C语言基础教程_字符串处理函数

文章目录前言一、获取字符串长度函数一、字符串拷贝函数三、字符串追加函数四、字符比较函数五、字符查找函数六、字符串匹配函数七、字符串转换数值八、字符串切割函数九、格式化字符串操作函数十、const总结前言博客主页:https://blog.csdn.net/m0_59519697欢迎点赞收藏关注留言,如有错误,敬请指正。共同学习,一起进步。一、获取字符串长度函数#include<string.h>size_t strlen(const char *s);//功能:计算一个字符串

2022-05-01 09:36:32 237 2

原创 C语言基础教程_动态内存申请

文章目录前言一、动态分配内存概述二、静态分配、动态分配2.1静态分配2.2动态分布三、动态分配函数3.1 malloc3.2 free3.3 calloc3.4 realloc四、内存泄漏总结前言本篇主要记录动态内存一些相关知识。学习笔记,如有错误,还请指正。码字不易,还请各位多多点赞收藏关注,感谢各位。一、动态分配内存概述在数组一文中,介绍过数组的长度是预先定义好的,在整个程序中固定不变,但是在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而无法预先确定 。为了解

2022-04-30 09:44:39 5213 2

原创 C语言基础教程_指针_2

文章目录前言九、二级指针十、字符串和指针十一、数组指针11.1二维数组11.2数组指针11.3数组指针的定义方法11.4各种数组指针的定义11.5混淆点11.6数组名字取地址11.7数组名字和指针变量11.8多维数组中指针的转化十二、指针和函数12.1指针作为函数的参数12.1.1 复制传参--传数值12.1.2地址传参-- 传地址12.2 传数组12.3 指针函数-- 指针作为函数的返回值12.4函数指针-- 指针保存函数的地址12.4.1函数指针变量定义方法12.4.2调用函数的方法12.4.3函数指针

2022-04-29 10:43:32 249 2

原创 C语言基础教程_指针_1

文章目录前言一、内存二、指针的相关概念三、指针的定义方法3.1简单的指针3.2关于指针的运算符3.2指针大小四、指针分类4.1字符指针4.2短整型指针4.3整型指针4.4长整型指针4.5float 型的指针4.6double型的指针4.7函数指针4.8结构体指针4.9指针的指针4.10数组指针五、指针和变量的关系六、指针和数组元素之间的关系6.1数组元素与指针的基本关系6.2数组元素的引用方法七、指针的运算7.1指针可以加一个整数7.2两个相同类型指针可以比较大小7.3两个相同类型的指针可以做减法7.4两个

2022-04-28 16:12:11 357 2

原创 C语言基础教程_预处理

文章目录前言一、C语言编译过程二、include三、define3.1不带参宏3.2带参宏3.3带参宏和带参函数的区别四、选择性编译总结前言本篇主要记录C语言预处理相关之hi个人学习笔记,如有错误,还请指正码字不易,希望各位能够多多点赞收藏关注,感谢各位一、C语言编译过程C语言编译过程:预处理,编译,汇编,链接gcc -E hello.c -o hello.i // 1 预处理gcc -S hello.i -o hello.s // 2 编译gcc -c

2022-04-27 09:51:01 186 3

原创 C语言基础教程_函数

文章目录前言一、函数的概念二、函数的分类2.1 从定义角度分类2.2 从参数角度分类2.3从返回值角度分类三、 函数的定义3.1 函数的定义方法四、函数的声明4.1 概念五、函数的调用六、函数总结七、变量的存储类型7.1 内存的分区7.2 普通的全局变量7.2.1概念:7.2.2作用范围:7.2.3生命周期:7.3 静态全局变量7.3.1概念7.3.2作用范围7.3.3生命周期7.4普通的局部变量7.4.1 概念7.4.2 作用范围7.4.3 生命周期7.5 静态的局部变量7.5.1 概念7.5.2 作用范

2022-04-26 09:56:32 1478 7

原创 C语言基础教程_数组

文章目录前言一、数组的概念二、数组的分类2.1 按照元素类型分类2.2 按照维数分类三、数组的定义3.1 一维数组的定义3.2二维数组的定义四、定义并初始化4.1 一维数组的初始化4.2二维数组的初始化4.2.1按行初始化4.2.2 逐个初始化五、数组元素的引用方法5.1 一维数组元素的引用方法5.2 二维数组元素的引用方法六、字符数组的定义和初始化总结前言个人学习笔记,本节主要记录数组相关知识。如有错误,还望指正。码字不易,还望各位点赞收藏关注。感谢各位。一、数组的概念数组是若干个 相同

2022-04-25 14:38:04 501 2

原创 C语言基础教程_控制语句

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、选择控制语句1.1 if语句1.2switch语句二、循环控制语句2.1 for2.2 while2.2.1 while2.2.2 do...while2.3 goto总结前言主要为C语言控制语句个人学习笔记,如有错误,请指正。一、选择控制语句1.1 if语句if(条件表达式){ //若干条语句; //语句1; //语句2;}if(条件表达式){ //若干条语句;}else{ /.

2022-04-24 08:34:01 325 1

原创 C语言运算符

文章目录前言一、运算符1.1运算符的概念以及分类1.1.1运算符的概念1.1.2运算符的分类1.2 算数运算符1.3 关系运算符1.4逻辑运算符1.5位运算符1.5.1 按位与 &1.5.2 按位或 |1.5.3 按位取反 ~1.5.4 按位异或 ^1.5.5 位移1.6 条件运算符1.7逗号运算符1.8自增自减运算符1.8.1 ++ -- 放在变量后面1.8.2 ++ -- 放在变量前面1.9运算符优先级表总结前言个人学习笔记,如有错误,请指正。一、运算符1.1运算符的概念以及分类

2022-04-23 10:03:21 1480 1

原创 C语言基础教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、第一个C语言程序二、关键字2.1 数据类型相关的关键字前言`内容来自千锋教育,个人学习笔记,如有错误,望指正。`一、第一个C语言程序#include <stdio.h> //头文件int main(int argc, char *argv[]) //主函数,一个C语言程序有且只有一个main函数{ printf("Hello World!\n"); // 输出内容 Hello .

2022-04-22 10:35:43 2673 2

OpenCV_haarshare

opencv haarcascade 分类器

2022-05-05

空空如也

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

TA关注的人

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