自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程池的概念及实现(文件夹的拷贝)

是一种多线程的处理方式,处理方法是将"生产者"线程提出的任务添加到"任务队列",创建一些线程自动的去完成"任务队列"上面的任务。​ 但是当我们需要创建大量的线程,并且线程都是去执行一个非常简单的任务,然后线程自动销毁的情况,上面的模式就不适用了。而且当任务比较多的时候,可以有函数接口去增加线程的数量,当任务比较少的时候,你可以有函数接口去减少线程数量.线程固定的执行一个"任务分配函数",当"任务队列"没有任务的时候,让线程自动的休眠(等待一个条件变量)可能创建的线程太多了(发现一个文件就会创建一个线程)

2022-09-23 17:11:47 1110

原创 关于二叉树的一些练习

代码】关于二叉树的一些练习。二叉树的最大值、高度,二叉排序树平衡操作、输出度为1的结点、层次遍历求二叉树的宽度……

2022-07-16 10:48:00 260

原创 HASH表的创建(C语言)

HASH表的创建

2022-07-11 20:13:06 2478

原创 二叉排序树的增删改查

二叉排序树的增删改查 SqQue.c #include<stdio.h> #include<stdlib.h> #include "SqQue.h" /* 功能:初始化队列 参数:@maxl:最大长度 返回值:顺序队列的头指针 */ SqQue *InitSqQue(int maxl) { SqQue *q = malloc(sizeof(*q)); q->data = malloc(maxl * sizeof(element)); q->max_len

2022-05-24 16:56:34 326

原创 C语言练习题

C语言练习题 一、环行取数 环行取数,逆时针输出数组数据 /* 功能:环行取数,逆时针输出数组数据 输入:1 2 3 4 5 6 7 8 9 输出:1 4 7 8 9 6 3 2 5 */ #include<stdio.h> int main() { int m,n; //数组的行、列 scanf("%d%d",&m,&n); int a[m][n]; int i,j; //用于循环 for(i = 0;i < m;i++)

2022-05-13 21:10:07 279

原创 队列的基本操作(入队、出队、清空……)

队列的基本操作(入队、出队、清空……) SqQue.h #ifndef __SQQUE_H__ #define __SQQUE_h__ typedef int element; typedef struct SqQue { element *data; //动态定义存储空间大小 int max_len; //存放最多的存储元素个数 int now_len; //当前存放的元素个数 int rear; //队尾下标,下一个入队元素的下标 int f

2022-05-06 17:53:48 3882 2

原创 链式栈的基本操作(入栈、出栈、……)

链式栈 LinkStack.h #ifndef __LINKSTACK_H__ #define __LINKSTACK_H__ #define elemnet int typedef struct SNode { element data; //保存栈中的一个元素 struct SNode *next; struct SNode *prev; }SNode; typedef struct LinkStack { SNode *first; //栈底指针

2022-05-03 20:35:03 1386

原创 顺序栈的基本操作(入栈、出栈、遍历、清空……)

顺序栈 基本定义 栈是仅限定在表尾进行插入和删除的操作的线性表 LIFO:last in first out–后进先出 一片连续的存储单元 SeqStack.h #ifndef __SEQSTACK_H__ #define __SEQSTACK_H__ #define element x typedef struct SeqStack { element *data; //data指向的空间来存储栈中的元素,动态数组,可以不事先定义大小 element maxlen; //栈

2022-05-02 16:25:12 2059 2

原创 双向循环链表增、删、改、查

双向循环链表增、删、改、查 cycle.c #include<stdio.h> #include<stdlib.h> #include"cycle.h" //先创建一个空的双向循环链表 biList *create(void) { biList *l = malloc(sizeof(*l)); l->first = NULL; return l; } /* 功能:增加一个数据,链表保持升序 参数:@l:头结点;@p:要插入的结点 注意:要考

2022-04-26 15:50:30 836

原创 双向链表的增删改查

双向链表的增删改查 doubleist.c #include<stdio.h> #include<stdlib.h> #include"doublelist.h" //先创建一个空的双向链表,头结点指向空 biList *create() { biList *l = malloc(sizeof(*l)); l->first = NULL; l->last = NULL; return l; } /* 功能:增加结点,保持升序 参数

2022-04-22 18:21:28 1197

原创 删除带头结点链表中最小值的结点

删除带头结点链表中最小值的结点 deletemin.c #include<stdio.h> #include<stdlib.h> #include"deletemin.h" LinkedList *create(void) { LinkedList *l = malloc(sizeof(*l)); l->first = NULL; l->last = NULL; element x; printf("请输入数据,以0结尾\n"

2022-04-20 20:24:28 1347

原创 C++运算符、继承

一、C++运算符重载“==” ①不允许用户自定义新的运算符,只能对已有的运算符进行重载 ②重载运算符不能改变运算符操作数的个数 ③不能改变运算符的优先级 ④不能改变运算符的结合性 ⑤不能有默认的参数 #include<iostream> using namespace std; class CStudent { private: string pname; int page; public: CStudent(string name,int age)

2022-04-19 16:11:01 447

原创 带头结点的单链表删除数据

带头结点的单链表删除数据 LLWHdelete.c #include<stdio.h> #include<stdlib.h> #include"LLWHdelete.h" LinkedList *create(void) { LinkedList *l = malloc(sizeof(*l)); l->first = NULL; l->last = NULL; return l; } void insert(LinkedList *

2022-04-18 14:27:21 2446

原创 带头结点的单链表插入数据

带头结点的单链表插入数据 什么是头结点 头结点是用来管理链表的结点,这个结点中一般包括常用的管理链表的数据对象,如:指向链表的第一个结点的指针,指向链表最后一个结点的指针,结点个数…… 代码实现 LLWHinsert.c #include<stdio.h> #include<stdlib.h> #include"LLWHinsert.h" //先创建一个空的链表,返回头结点 LinkedList *create(void) { LinkedList *l = ma

2022-04-13 20:57:37 2832

原创 关于单链表的一些练习

一、在单链表中删除所有值为x的结点,输出删除后的单链表 二、逆置单链表 一、 delete.c #include<stdio.h> #include<stdlib.h> #include"delete.h" Node *create() { Node *first = NULL; Node *last = NULL; element x; printf("请输入数据,0为结束标志。"); while(1) {

2022-04-12 20:29:50 381

原创 C++类练习(一)

有这么个需求,所有的在校生都必须有学号,所以能不能实现实例化一个Student对象之后,就要求输入学号,不存在一个没有学号的Student对象被实例化出来,大家明白了吗?也就是类似于 stud1 这样的对象是不允许存在的,因为其没有学号。 #include<iostream> #include<string.h> using namespace std; class Cstudent { public: char name[50]; char sex.

2022-04-07 11:45:09 1074

原创 一、类的声明

一、类的声明 1、什么是类类型 ​ 在C++中对象的类型称为类(class),用来表示一类具有共同属性和行为的类型。例如:人类,狗类,动物类,哺乳动物类等等。在C++中一般是先声明一个类类型,然后用这个类类型去定义多个对象,所以,对象就是类类型的一个实例,或者说是类类型的一个实例化的变量。 类类型是抽象出来的,所以类类型跟C++中的其他类型一样,不占用内存空间,而对象就是类类型的实例,是真正的变量,所以是占用存储空间的。 2、类类型的声明 ​ C++中声明一个类类型跟声明一个结构体类型很像。例如,咱们之前讲

2022-04-04 19:37:25 9217

原创 链表的增、删、改、查

链表的增、删、改、查 linklist.c #include<stdio.h> #include<stdlib.h> #include"linklist.h" /* 功能:创建链表 返回值:链表的头指针 */ Node *create() { Node *first = NULL; //给头、尾结点的地址初始值赋空值、因为还不存在 Node *last = NULL; element x; //输入的数据 print

2022-03-30 15:48:51 928

原创 链表的创建 、头插法、尾插法

链表的创建 、头插法、尾插法 linklist.c #include<stdio.h> #include<stdlib.h> #include "linklist.h" /* 功能: 创立一个有数据的链表 返回值: 头指针 保存链表第一个结点 */ Node *create() { Node *first = NULL; //还未创建时,第一个结点和最后一个结点都为NULL Node *last = NULL; element x;

2022-03-29 13:25:17 264

原创 C语言组成

C语言组成 一、C语言写工程、项目 ​ 一个项目会由多个模块组成,每个模块之间是相对独立,每个模块是由0个或多个**.c和.h**组成,各个模块之间可以分开编码研发。 ​ 如果继续一个**.c文件去编写,各个模块之间不能分开编码研发—>需要分为多个.c** ​ 一般来说哦,每写一个**.c文件对应写一个.h**文件 ​ .c文件里面写的是实现某个模块里的函数 ​ .h里面写**.c**文件中函数的声明、类型声明……声明语句 ​ 如果A模块想用B模块的函数,就需要包含

2022-03-28 16:33:55 1017

原创 一些关于函数的练习2(含答案)

一些关于函数的练习2(含答案) 求字符串的长度 判断回文字符串 汉诺塔 一、求字符串的长度 ​ 键盘输入一串字符串,编写函数求字符串的长度。 ​ 字符串与指针是分不开滴啦,所以我们可以借助指针来求。 /* 功能:求字符串的长度 参数:@a:保存字符串的数组;@*p:接收字符串数组的指针 返回值:长度 */ #include<stdio.h> /*int fun(char *s) //方法1 { char *t = s; //t也指向数组

2022-03-25 19:44:16 150

原创 关于分支循环的一些练习(含答案)

关于分支循环的一些练习(含答案) 9*9乘法表 某日是那年的第几天 分解质因数 一、9*9乘法表 ​ 我们小学应该都背过99乘法表,用循环很方便做,但是怎么打印成乘法表的样子呢? ​ 我们就要结合制表符与回车的应用啦! /* 功能:打印9*9乘法表 参数:x行y列 */ #include<stdio.h> int main() { int x,y; for(x = 1;x < 10;x++) //1~9循环 { for(y =

2022-03-24 18:21:27 332

原创 一些关于函数的练习(含答案)

一些关于函数的练习(含答案) 第一个人年龄为10岁,接下来后面一个人比前面一个人大2岁,试输入第几个人,求得其年龄。 求一个数的阶乘 进制转换 一、第一个人年龄为10岁,接下来后面一个人比前面一个人大2岁,试输入第几个人,求得其年龄。 /* 功能:第一个人为10岁,后一个人都比前一个人大两岁,求第几人的年龄 参数:x为人数;y为年龄; 返回值:年龄 */ #include<stdio.h> int age(int n) //用n来接收 { if(n == 1)

2022-03-23 15:15:17 273

原创 一些数组练习(含答案)

一些数组练习(含答案) 打印杨辉三角前十行 求鞍点(行最大,列最小) 求山顶元素(比前、后、左、右的数都要大) 1、打印杨辉三角 /* 功能:打印杨辉三角前十行 参数:i行j列 返回值:杨辉三角前十行 */ #include<stdio.h> int main() { int a[10][10] = {0}; //初始化数组,因为是前十行所以设置为10 int i,j; //用来循环 //先打印原数组 printf("运算前数组元素是:\n"); for(i =

2022-03-22 14:25:19 626

原创 C语言——复数的加减及输出(结构体)

一、 #include<stdio.h> typedef struct complex { int real; //实部 int imag; //虚部 }complex; /* 功能:复数加法 参数:两个复数 返回值:两个复数的和 */ complex complexadd(complex x,complex y) { complex sum; sum.real = x.real + y.real; sum.imag = x.imag + y.imag; ret...

2022-02-10 19:35:39 4360

原创 C语言——循环结构

循环本质:重复 当我们需要做重复的事情或者重复执行某些相似的语句的时候,就考虑使用循环。 c 语言中 循环语句: 1、while 2、do...whilegoto flag 3、for 4、goto(不是循环语句,能达到循环的效果) 一、goto 语法: 标志:需要循环的语句 goto 标志 goto 标志:无条件跳转到标志的地方 标志:用来标识某个代码块,标志的名字要符合c语言标识符的规定,一般顶格写。 c语言标识符:由数字、字母、下划线组成,并且不能由数字开头。 如果想让他停

2022-01-21 20:28:19 1478

原创 C语言——分支结构

一、程序的结构(三种) 1、顺序结构 2、分支结构 3、循环结构 二、分支结构(选择结构) 语法形式 1、if 语句 (1)最简单 if 语句 语法: if (表达式) 任意合法表达式 { 语句块 } 如果表达式是成立(非0),就会执行语句块。否则不执行。 语句块:任意条(一条,多条,空)语句,每一条语句后面都得加“;” if后面的语句 任意条语句 建议都加“{ }” 如果不加“{ }”默认只管到一句话。 (2)else 子句 语法: if (表达式) { 语句

2022-01-21 20:27:12 947

原创 C语言——运算符

Day3 什么是运算符? 运算符就是用来表示某种运算的符号 + - * / .... 什么是表达式? 用运算符连接的式子就叫做表达式,确切的名字以表达式中最低运算符来确定 1+2、3/4 操作数 参与运算的数据 几目运算符 该运算符需要几个操作数就是几目运算符 优先级 如果有多个运算符出现在一个表达式中,运算符优先级就决定优先进行哪种运算 结合性: 决定先算那个操作数,后算哪个操作数 左到右 、 右到左 基本语句 #include <stdio.h> int

2022-01-21 20:26:29 1783

原创 C语言——数据类型

数据类型 Day1 0、 计算机只是一个工具,计算的工具,通过计算来帮我们解决问题 计算机保存问题中数据? 先保存问题的抽象数据,然后再对抽象数据进行某一种运算 运算后就能得到一个结果,数据应该怎么去保存? 数据有什么属性: 大小 整数/小数 .... 这些属性我们就是通过数据类型来体现。 1、C语言的数据类型 有四大数据类型: (1)基本数据类型 C语言已经帮我们定义好了,我们就能直接拿过来使用 整型数据:用来保存整数 short [int] //短整型 int /

2022-01-11 21:18:12 2010

空空如也

空空如也

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

TA关注的人

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