自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (11)
  • 收藏
  • 关注

原创 简单模拟list容器

本人小白一枚,在这里和大家分享一些编程日常,希望大佬们多多支持!!!❤️❤️❤️容器容器(Containers):用来管理某类对象的集合。各种数据结构,如vector、list、deque、set、map等,用来存放数据,从实现角度来看,STL容器是一种class template。迭代器迭代器(Iterators):用来在一个对象集合的元素上进行遍历动作。扮演了容器与算法之间的胶合剂,共有五种类型,从实现角度来看,迭代器是一种将operator* , operator-> , o..

2021-09-09 21:24:43 158 1

转载 为什么拷贝构造函数必须为引用传递,不能是值传递?

拷贝构造函数的标准写法如下:class Base{public: Base(){} Base(const Base &b){..} //}上述写法见得最多,甚至你认为理所当然。那么如果我们不写成引用传递呢,而是值传递,那么会怎样?class Base{public: Base(){} Base(const Base b){} //}编译出错:error C2652: ‘Base’ : illegal copy constructor: first .

2021-09-01 21:46:14 287 3

原创 什么是对数器?

什么是对数器?对数器的概念:1.有一个你想要测的方法a;2.实现一个绝对正确但是复杂度不好的方法b;3.实现一个随机样本产生器;4.实现对比算法a和b的方法;5.把方法a和方法b比对多次来验证方法a是否正确;6.如果有一个样本使得比对出错,打印样本分析是哪个方法出错;7.当样本数量很多时比对测试依然正确,可以确定方法a已经正确。对数器的用法下面以冒泡排序为例,用C++代码描述对数器的用法...

2021-08-31 14:40:05 1063 3

转载 C++ warning C4018: “<”: 有符号/无符号不匹配

C++警告warning C4018: “<”: 有符号/无符号不匹配警告代码如下: for (int i = 0; i<matchePoints.size(); i++) { imagePoints1.push_back(keypoints1[matchePoints[i].Idx1].pt); imagePoints2.push_back(keypoints2[matchePoints[i].Idx2].pt

2021-08-31 13:08:03 385

原创 数据类型传递参数时的转换

C++中传递参数时的转换C++中的函数参数是由函数原型控制。然而,也可以取消原型对参数传递的控制,尽管这样做并不明智。在这种情况下,C++将对char和short类型(signed和unsigned)应用整型提升。另外,为保持与传统C语言中大量代码的兼容性,在将参数传递给取消原型对参数传递控制的函数时,C++ 将float参数提升为double。 摘录自《C++ Primer Plus》...

2021-08-30 13:57:44 236

原创 【题目】1^(1<<31>>31)❤️你了解二进制吗?❤️

三码知识点正数负数原码引入符号位,正数为0引入符号位,负数为1反码反码==原码符号位不变其他位取反补码补码==原码反码加一1默认位int类型,以32位存储,二进制如下00000000 00000000 00000000 000000011<<31整体左移31位,右侧补010000000 00000000 00000000 000000001<<31>>31整体右移31位,左侧补符号位111111

2021-08-28 23:08:45 614

原创 ⭐C++再封装的方式写一个链式结构⭐(无头链表头插法)

要点大致思路类的基本框架源代码大致思路类的基本框架先创建一个结构体用于储存基本数据在这里插入代码片源代码

2021-08-26 11:03:42 105 2

原创 链表结构描述哈希

我们要实现这样一个效果:纵向排列的数据的个位数按顺序依次递增,每一个纵向节点都有一条分支,而且各自横向排列的分支的个位数都相同,并且横向分支排列按顺序从左往右依次递增。所以需要创建下面这样的哈希链式结构它们由两部分不同类型的节点组成,一种是有两个指针指向的节点另一种是普通的节点,由数据域和指针域组成接下来代码部分就是封装节点的过程首先定义普通类型的结构体,包括数据域和指向下一个节点的指针typedef struct Node { int dataNu...

2021-08-23 23:06:25 150

转载 _tmain和main有什么区别?

</div></body>

2021-08-13 22:10:57 221

原创 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”示例 2:输入:strs = [“dog”,“racecar”,“car”]输出:""解释:输入不存在公共前缀。代码如下:char* longestCommonPrefix(char** strs, int strsSize) { if (strsSize == 0) return NULL; if

2021-08-07 20:25:20 162

原创 判断回文数,不用整数转为字符串的解决方法!!

目录题目代码题目给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文

2021-08-07 17:48:39 242

原创 Z型变换问题

目录题目思路代码题目将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例:输

2021-08-07 14:56:49 148

原创 最长回文子串

目录思路代码思路一个中心是指回文子串的对称中心,两个基本点是指回文子串的起点和终点首先是找中心,我分了两种情况:一是连续相等的情况,就直接找到连续相等子串的中心,作为对称中心;二是不相等的情况,就找到一对离得最近的相同字符,作为对称中心。然后是找两个基本点,就直接从中心开花,向两边遍历,就能找到回文子串起点和终点。每找到一个子串记录一次子串长度,如果大于最大值,就更新起点和终点,否则不变。代码//思路:右移寻找中心,然后扩散char* longestPalindrome(char

2021-08-07 10:54:06 106

原创 无重复最长子串问题

目录题目描述:示例思路代码题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke

2021-08-06 20:51:02 125

原创 双向链表解决两数之和的问题

目录题目描述示例方法代码片运行效果题目描述给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例输入1:1 2 3 输入2:1 2 3 4输出1:1 3 5 7方法主要思路:(1)直接将从头开始相加两个链表中的值,另外加一个用于存储进位的结果的变量;(2)直到将两个链表共同长度的部分处理结束

2021-08-06 17:41:39 263 1

原创 Leedcode第一题

两数之和#include<stdio.h>#include<malloc.h>int* twoSum(int* array, int arrayNum, int target, bool* returnSize) { for (int i = 0; i < arrayNum - 1; i++) { for (int j = i + 1; j < arrayNum - 1; j++) { if (array[i] + array[j] == tar

2021-08-06 15:57:32 120

原创 C语言实现二分查找

要求:数组中的值必须有序#include<stdio.h>int SearchMyPos(int* array,int arraylen,int data) { int left = 0; int right = arraylen - 1; while (left <= right) { int mid = (left + right) / 2; if (array[mid] == data) return mid; if (array[mid] >

2021-08-06 14:36:49 121

原创 利用二叉树处理堆内存

和栈不同,栈是通过入栈出栈的方式处理数据,而堆的数据是可以随意拿随意取的,通常用二叉树来研究一段连续的内存。二叉树和数组下标一一对应的方式来入堆,因为二叉树的序号从一开始,所以,数组的第一个元素是不存东西的。大顶堆:前一个结点的数值比后面两个子节点的数值大小顶堆:前一个结点的数值比后面两个子节点的数值小研究方式:父节点的序号是子节点的一半入堆操作:不论什么元素,入堆都是直接插入在元素的最后面,入堆后再进行向上渗透的操作。向上渗透:子节点除以2和父节点比较,不符号要求则交换顺序

2021-08-06 11:11:04 196

原创 BF算法的实现

找到相同元素就返回第一个元素对应的位置,否则返回-1要点:若和第一个字符串匹配不成功,就退出遍历该字符串。若该字符串能完成遍历,证明完全匹配。代码实现如下:#include<stdio.h>#include<assert.h>#include<malloc.h>#define MAX 100typedef struct string { char Memory[MAX];//字符串 int cursize;//当前字符串元素个数}*LPS

2021-08-06 00:40:12 300

原创 模拟串的一些操作

#include<stdio.h>#include<malloc.h>#include<assert.h>#define MAX 100typedef struct { char* Memory; int CurSize;}*LPSTR,string;LPSTR CreateStr() { LPSTR MyString = (LPSTR)malloc(sizeof(string)); assert(MyString); MyString->.

2021-08-05 23:09:30 116

原创 链式顺序表

#include<stdio.h>#include<malloc.h>#include<assert.h>typedef struct Node { int data; struct Node* next;}*LPNODE;typedef struct List { LPNODE headNode; int curSize;}*LPSQL;LPNODE CreateHead() { LPNODE headNode = (LPNODE)calloc.

2021-08-05 16:08:50 110

原创 无头链表的二级指针写法

写博客太难了~~~呜呜呜,不写了。。。#include<stdio.h>#include<malloc.h>#include<assert.h>struct Node { int data; Node* next;};Node* CretaeNode(int data) { Node* newNode = (Node*)malloc(sizeof(Node)); assert(newNode); newNode->data = data;

2021-08-05 15:30:34 109

原创 数据结构之优先队列

先看效果图:话不多说,直接上代码!!!#include<stdio.h>#include<assert.h>#include<stdlib.h>#include<time.h>#define MAX 10typedef struct Data { const char* name; int Weight;//权值}*DATA,DaTA;typedef struct Queue { Data* pMemory; int Cu.

2021-08-05 14:59:31 121

原创 什么是循环队列

目录1.什么是队列2.什么是循环队列3.循环队列的代码块3.1入队3.2出队3.3判空3.4测试代码4.优点1.什么是队列 类似于食堂排队打饭,一个一个往前排入队伍里,就是入队;而打完饭从头到尾一个一个出来,就是出队。队列就是你排队的那个队伍。2.什么是循环队列比如某食堂的奇葩规定:每次打饭只能挑选一种菜。而想吃两种菜的你不得不排队两次,重新回到队伍里。或比如前面排队打饭的人走了,后面要打饭的人跟上步伐,整个队伍的人数不变,不断有人出来,又不断有人进去,实现入队出队的循环。3.循环队列的代码块

2021-08-05 13:45:06 811

原创 链式队列的实现

本文目录预处理封装节点封装链式结构创建节点创建链表入队出队获取队列元素判空测试代码运行效果预处理#include<stdio.h>#include<malloc.h>#include<assert.h>封装节点typedef struct Node { int data; struct Node* next;}*LPNODE;封装链式结构typedef struct List { LPNODE frontNode; LPNODE tailNo

2021-08-04 23:43:41 110

原创 封装数组队列

目录预处理封装队列创建队列入队获取对头元素出队判断队列是否为空测试代码运行效果预处理#include<stdio.h>#include<stdlib.h>#include<assert.h>#define MAX 10封装队列typedef struct Queue { size_t* pMemory; short topSize; short tailSize; unsigned short curSize;}*LPQUEUE,QUEUE;

2021-08-04 22:49:45 107

原创 简单模拟双向循环链表

文章目录要点原理图头文件封装节点创建头节点创建新节点新节点的插入后项指针打印链表前项指针打印链表测试代码运行效果​​​要点原理图头文件封装节点创建头节点创建新节点新节点的插入后项指针打印链表前项指针打印链表测试代码运行效果​​​...

2021-08-04 21:49:03 175

原创 数据结构之双向链表(C语言实现)

双向链表的几种插入,删除,指定位置输出双向链表的长相双向链表由前驱指针和后项指针还有数据域组成,把节点之间的前后指针相连接形成链表双向链表节点的封装双向链表与单链表相比,仅多了一个前驱指针typedef struct Node { int data;//内容 struct Node* frontNode;//前驱指针 struct Node* nextNode;//后项指针}*LPNODE;双向链表的特点在于可以从左到右,也可以从右到左输出链表,因此.

2021-08-04 15:37:20 611 1

原创 栈结构实现进制转换

十进制转换为二进制:#include<stdio.h>#define MAX 10//容量int main() { size_t stack[MAX];//数组栈 short topSize = -1;//栈顶标记 int objectNum = 123;//目标数值 printf("十进制: %d\n", objectNum); while (objectNum) {//入栈 stack[++topSize] = objectNum % 2; objectNum /

2021-08-04 10:00:58 130

原创 简单模拟双向栈

预处理#include<stdio.h>#include<stdlib.h>#include<assert.h>#define MAX 10//栈最大容量封装栈typedef struct Stack { size_t* pMemory;//栈指针 short LeftSize = -1;//栈顶标记 short RightSize = MAX;//栈尾标记}*LPSTACK;枚举入栈出栈的方向enum Dirction {//枚举

2021-08-04 09:35:08 135

原创 简单模拟链式栈

预处理#include<stdio.h>#include<assert.h>#include<stdlib.h>#define MAX 10封装节点struct Node { int data; struct Node* next;};封装链表struct Stack { struct Node* headNode; int curSize;};创建节点和链表Stack* CreateStack() { Stack*

2021-08-04 00:01:54 100

原创 简易实现数组栈

头文件#include<stdio.h>#include<stdlib.h>#include<assert.h>封装栈结构typedef struct Data { int data;}*LPDATA;typedef struct Stack { LPDATA pMemory; int topPos;}*LPSTACK;初始化栈LPSTACK CreateStack() { LPSTACK stack = (LPSTACK)ca

2021-08-03 23:11:01 130

原创 有序链表的构建

头文件#include<stdio.h>#include<assert.h>#include<malloc.h>封装节点struct Data { int mmData;//数值 int index;//序号};typedef struct Node { Data data;//自定义Data类型的数据 struct Node* next;//next指针}*LPNODE,NODE;封装链表typedef struct List

2021-08-03 22:14:57 383

原创 简易实现链表反转效果

头文件#include<stdio.h>#include<malloc.h>#include<assert.h>节点的封装struct Data { const char* Data_name; int Data_age;};typedef struct Node { Data data; struct Node* next;}*LPNODE;再封装的方式封装一个链表typedef struct List { struct N

2021-08-03 18:02:19 151

原创 弹幕制造器

弹幕制作器思路:控制台和easyX实现1.控制台窗口用来输入弹幕,图形窗口用来显示弹幕2.并发:控制台不断接收用户信息,图形窗口不断输出数据并且移动3.设置图形窗口不能被移动,而且窗口置顶,可以设置窗口大小是整个桌面大小所以需要获取屏幕大小的函数int wide=GetSystemMetrics(SM_CXFULLSCREEN)//这个函数是获取fullscreen(全屏)的宽并且返回一个int类型的宽。//同理int Height=GetSystemMetrics(SM_C

2021-08-03 14:39:58 964 1

原创 关闭程序出现崩溃(exe 已触发了一个断点)

今天碰到一个奇怪的问题,数组下标也没有出现溢出的情况,但是就是在调试的时候崩在return 0上。#include<stdio.h>#include<malloc.h>#include<assert.h>struct MM{ char name[20]; int age;};struct Data { MM mmData; int index;};typedef struct sqList { Data* pMemory; int

2021-08-02 23:07:43 825

原创 “编译器,你为什么不检查数组下标有没有溢出?”

1.给指针操作提供更多的空间下面看例子:#include<stdio.h>int main(){int array[5]={1,2,3,4,5};int* parray=array+2;printf("%d",parray[-1]);return 0;}如果检查数组下标,上面这种就相当于是非法操作,编译器是无法通过的!这也是C语言的强大之处,使用起来非常灵活。再比如:#include<stdio.h>int main(){int array[5

2021-07-27 09:53:29 330

Video_2020-06-29_222805.wmv

A星寻路算法

2021-08-14

2019-05-06 腾讯QQ网络聊天系统.wmv

聊天系统制作教学

2021-08-11

2019-06-12 0day漏洞缓冲区溢出攻击.mp4

漏洞缓冲区溢出攻击公开课视频教学

2021-08-11

Windows多进程技术篇之任务管理系.wmv

多线程任务管理系统视频教学

2021-08-11

Video_2020-08-29_连连看.wmv

C语言连连看

2021-08-06

Video_2020-05-29_165034.wmv

C语言打地鼠

2021-08-06

Video_2020-07-23_打气球.wmv

c语言编程之打气球

2021-08-06

Video_2019-05-09_220833.wmv

C语言贪吃蛇

2021-08-06

Windows弹窗教程.wmv

Windows编程,适用于入门爱好者

2021-08-06

Windows高级编程之小霸王经典俄罗斯方块游戏篇.wmv

游戏小案例的公开课录播,适用于锻炼初学者编程能力

2021-08-06

Video_2019-05-16_221011.wmv

顿卡教育《飞翔的小鸟小游戏》的C语言公开课课程,适用于入门实战开发

2021-08-04

空空如也

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

TA关注的人

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