自定义博客皮肤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 844 1

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

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

2022-07-16 10:48:00 148

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

HASH表的创建

2022-07-11 20:13:06 2157

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

二叉排序树的增删改查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 196

原创 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 198

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

队列的基本操作(入队、出队、清空……)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 3535 2

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

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

2022-05-03 20:35:03 1233

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

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

2022-05-02 16:25:12 1874 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 701

原创 双向链表的增删改查

双向链表的增删改查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 1090

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

删除带头结点链表中最小值的结点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 1185

原创 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 318

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

带头结点的单链表删除数据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 2263

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

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

2022-04-13 20:57:37 2503

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

一、在单链表中删除所有值为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 255

原创 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 889

原创 一、类的声明

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

2022-04-04 19:37:25 8092

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

链表的增、删、改、查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 850

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

链表的创建 、头插法、尾插法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 165

原创 C语言组成

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

2022-03-28 16:33:55 833

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

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

2022-03-25 19:44:16 60

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

关于分支循环的一些练习(含答案)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 264

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

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

2022-03-23 15:15:17 162

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

一些数组练习(含答案)打印杨辉三角前十行求鞍点(行最大,列最小)求山顶元素(比前、后、左、右的数都要大)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 508

原创 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 3698

原创 C语言——循环结构

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

2022-01-21 20:28:19 1273

原创 C语言——分支结构

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

2022-01-21 20:27:12 743

原创 C语言——运算符

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

2022-01-21 20:26:29 1579

原创 C语言——数据类型

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

2022-01-11 21:18:12 1495

空空如也

空空如也

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

TA关注的人

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