自定义博客皮肤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)
  • 收藏
  • 关注

原创 《消息队列MyMQ》——参考RabbitMQ实现

参考RabbitMQ实现的简易版消息队列

2023-12-04 15:16:00 1526

原创 《Linux》1.权限

Linux权限

2023-01-03 20:00:00 420 1

原创 《C++》2.缺省参数,函数重载

缺省参数,函数重载

2022-09-28 21:38:45 364

原创 《C++》1.命名空间

命名空间

2022-09-26 14:14:59 465

原创 《数据结构初阶》之栈和队列

栈功能实现部分#define _CRT_SECURE_NO_WARNINGS 1#include"Stack.h"//初始化栈void StackInit(ST* ps){ assert(ps); ps->a = NULL; ps->top = ps->capacity = 0;}//销毁栈void StackDestroy(ST* ps){ assert(ps); free(ps->a); ps->a = NULL; ps

2022-02-25 12:09:21 149 1

原创 《数据结构初阶》之双向带头链表

功能实现部分#pragma once#include "List.h"//初始化双向带头链表LTNode* ListInit(){ LTNode* phead = (LTNode*)malloc(sizeof(LTNode)); phead->next = phead; phead->prev = phead; return phead;}//malloc一个新节点LTNode* BuyListNode(LTDataType x){ LTNode* n

2022-02-25 09:55:00 328

原创 《数据结构初阶》之单链表

功能实现部分#define _CRT_SECURE_NO_WARNINGS 1#include"SList.h"//malloc一个新节点SLTNode* BuyListNode(SLTDataType x){ SLTNode* newnode = (SLTNode*)malloc(sizeof(SLTNode)); if (newnode == NULL) { printf("malloc fail\n"); exit(-1); } newnode->dat

2022-02-23 21:11:46 381 14

原创 《数据结构初阶》之顺序表

主要功能实现部分#include"SeqList.h"//初始化顺序表void SeqListInit(SL* ps){ ps->a = NULL; ps->size = ps->capacity = 0;}//打印顺序表void SeqListPrint(SL* ps){ for (int i = 0; i < ps->size; i++) { printf("%d ", ps->a[i]); } printf("\n");

2022-02-22 21:30:43 409 6

原创 《leetcode刷题讲解》—漫漫编程路

目录1.问题描述2.代码及解析1.问题描述leetcode 1171.从链表中删去总和值为零的连续节点(难度:mid)给你一个链表的头节点head,请你编写代码,反复删去链表中由 总和值为 0 的连续节点组成的序列,直到不存在这样的序列为止。删除完毕后,请你返回最终结果链表的头节点。你可以返回任何满足题目要求的答案。(注意,下面示例中的所有序列,都是对ListNode对象序列化的表示。)来源:力扣(LeetCode)链接:1171. 从链表中删去总和值为零的连续...

2022-01-25 19:36:38 6065 16

原创 《leetcode刷题讲解》—漫漫编程路

目录1.题目一问题描述及代码解析2.题目二问题描述及代码解析1.题目一问题描述及代码解析问题描述leetcode 33. 搜索旋转排序数组 (难度:mid)整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-.

2022-01-23 20:37:40 170 17

原创 《leetcode刷题讲解》—漫漫编程路

目录1.问题描述2.代码及解析1.问题描述leetcode 481.神奇字符串(难度:mid)神奇字符串 s 仅由 '1' 和 '2' 组成,并需要遵守下面的规则:神奇字符串 s 的神奇之处在于,串联字符串中 '1' 和 '2' 的连续出现次数可以生成该字符串。s 的前几个元素是 s = "1221121221221121122……" 。如果将 s 中连续的若干 1 和 2 进行分组,可以得到 "1 22 11 2 1 22 1 22 11 2 11 22 ......" 。每..

2022-01-21 19:08:30 5400 22

原创 《leetcode刷题讲解》—漫漫编程路

目录1.问题描述2.代码及解析1.问题描述leetcode .面试题 .01.06.字符串压缩(难度easy,但博主觉得有相当的难度)字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。来源:力扣(LeetCode)链接:面试题 01.06. 字符串压缩 - 力扣(LeetCode) (lee.

2022-01-19 21:13:44 5179 56

原创 《leetcode刷题讲解》—漫漫编程路

目录1.题目介绍2.代码及解析1.leetcode .面试题01.01实现一个算法,确定一个字符串 s 的所有字符是否全都不同。来源:力扣(LeetCode)链接:面试题 01.01. 判定字符是否唯一 - 力扣(LeetCode) (leetcode-cn.com)2.代码及解析bool isUnique(char* astr){int i=0,j=0,len=strlen(astr),flag=0;for(i=1;i<len;i++){ ...

2022-01-16 21:48:44 1128 10

原创 《leetcode刷题讲解》—漫漫编程路

目录1.题目描述2.代码及解析1.题目描述leetcode 4.寻找两个正序数组的中位数给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。来源:力扣(LeetCode)链接:4. 寻找两个正序数组的中位数 - 力扣(LeetCode) (leetcode-cn.com)2.代码及解析double findMedianSortedArray

2022-01-15 23:19:28 224 1

原创 《leetcode刷题讲解》—漫漫编程路

目录1.问题描述2.代码及解析1.问题描述leetcode 66.加一难度easy给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。来源:力扣(LeetCode)链接:66. 加一 - 力扣(LeetCode) (leetcode-cn.com)2.代码及解析/** * Note: The returned arra

2022-01-15 16:17:00 401 3

原创 《leetcode刷题讲解》—漫漫编程路

目录1.题目描述2.代码及注释1.题目描述leetcode 2.两数相加(这可能是很多人学习数据结构之后的第一道mid,同样也是博主第一次自己完全独立完成的mid,希望对大家有所帮助)给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。每个链表中的节点数在范围 [1, 100] 内0 <=

2022-01-14 18:37:29 237 8

原创 《C语言进阶》以实现取两数中的较大值为例深析宏定义和函数的区别

目录1.代码2.深析二者异同及优缺点 3.总结1.代码1>宏定义#define MAX(x,y) ((x>y)?(x):(y))int main(){ int x = MAX(10, 20); printf("%d", x); return 0;}2>函数定义int Max(int x, int y){ return x > y ? x : y;}int main(){ int x = Max(10, 20...

2022-01-02 21:14:34 524 9

原创 《C语言进阶》leetcode 14.最长公共前缀

目录1.问题描述2.问题求解及代码1.问题描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。2.问题求解及代码面对本题我们想到以下一个易懂的算法求解我们以数组第一个字符串的长度作为范围进行for循环,判断最长..

2021-12-22 22:53:39 496 2

原创 《C语言进阶》之简单圣诞树

C语言打印圣诞树(简单版)

2021-12-16 17:27:18 7086 96

原创 《C语言进阶》密码确认问题求解

目录1.问题描述2.问题求解1.问题描述1.密码长度必须满足6~8个字符2.两次输入的密码必须一致3.密码中必须出现大写字母、小写字母和数字字符,并且只能出现这三种字符4.密码不能回文2.问题求解面对本题对密码的多个要求,我们想到利用一个变量x来确认是否满足所有条件,若有一个不满足则报错并要求用户重新输入(注意,在重新进入循环时要对x进行重新赋值,防治出现死循环的情况),下面是完整代码。//#include<stdio.h>//#include&lt.

2021-12-15 18:41:59 1130 5

原创 《C语言进阶》使用qsort完成通用排序讲解(附qsort原理讲解和自己编写qsort的方法)(使用回调函数完成)

目录1.qsort函数简介2.qsort函数应用3.如何编写qsort函数1.qsort函数简介首先附上一张msdn上qsort函数的详解void qsort(void* base, size_t num, //待排序的元素个数 size_t width, //一个元素的大小,单位是字节 int(* cmp)(const void* e1, const void* e2) //cmp指向的是:排序时,用来比较2个元素的函..

2021-12-10 23:06:58 1227 5

原创 《C语言进阶》小乐乐与字符串问题求解

目录1.问题描述2.问题求解1.问题描述描述在庆祝祖国母亲70华诞之际,老师给小乐乐出了一个问题。大家都知道China的英文缩写是CHN,那么给你一个字符串s,你需要做的是统计s中子串“CHN”的个数。子串的定义:存在任意下标a < b < c,那么“s[a]s[b]s[c]”就构成s的一个子串。如“ABC”的子串有“A”、“B”、“C”、“AB”、“AC”、“BC”、“ABC”。输入描述:输入只包含大写字母的字符串s。(1 ≤ length ≤ 8000).

2021-12-09 22:58:10 709 5

原创 《C语言进阶》什么?面试官让你写计算器?从及格到满分三种方法讲解

目录1.及格写法2.优秀写法3.满分写法首先我们先打印一个菜单,接受用户输入的值再进行判断用户想要使用什么算法对两个数进行计算。我们使用一个函数实现这一目标。void menu(){ printf("**********************************\n"); printf("******* 1.add 2. sub ******\n"); printf("******* 3.mul 4. div ******\n"); prin

2021-12-08 21:31:55 279 5

原创 《C语言入门》一些C语言题目的讲解

1.编写程序:输入一个整数,将该数转变为二进制表示并存放在数组中输出。#include<stdio.h>#include<math.h>int main(){ int n = 0; scanf("%d", &n); int arr[32] = { 0 }; int i = 0; int j = 0; long long x = 0; while (n) { for (i = 31; i >= 0; i--) { x = pow(

2021-12-07 22:26:26 756 4

原创 《C语言入门》简单回文序列问题求解

目录1.问题描述2.问题求解及代码实现1.问题描述编写程序输入一个字符串,检查是否是回文(回文是指正反序文字相同,如,LeveL),若是则输出“Yes”,否则输出“No”。2.问题求解及代码实现我们创建left和right,以下标移动来实现一个字符串的前后字符比较。left初始值wei0,我们使用strlen函数求出字符串长度,注意给right第一次赋值时我们要赋值为字符串长度-1,下面是完整代码。#include<stdio.h>#include<str.

2021-12-06 22:23:01 674 6

原创 《C语言进阶》使用指针花式打印数组内容

本文将介绍几个打印数组内容的方法,其中会涉及到指针的应用,方便加深大家对指针的理解。int main(){ int arr[10] = {1,2,3,4,5,6,7,8,9,10}; int sz = sizeof(arr) / sizeof(arr[0]); //print1(arr, sz); //print2(arr, sz);//打印arr数组的内容 //print3(&arr, sz); return 0;}首先我们创建一个数组,然后使用编写不同的函数来实

2021-12-05 22:23:44 3857 11

原创 《C语言入门》最小公倍数与最大公约数之和问题求解

目录 1.问题描述 2.算法求解及代码1.问题描述描述小乐乐最近在课上学习了如何求两个正整数的最大公约数与最小公倍数,但是他竟然不会求两个正整数的最大公约数与最小公倍数之和,请你帮助他解决这个问题。输入描述:每组输入包含两个正整数n和m。(1 ≤ n ≤ 109,1 ≤ m ≤ 109)输出描述:对于每组输入,输出一个正整数,为n和m的最大公约数与最小公倍数之和。题目代码链接小乐乐与欧几里得_牛客题霸_牛客网 (nowc...

2021-12-04 20:41:08 729 11

原创 《C语言入门》倒置字符串之单词倒置

目录1.问题描述2.问题求解及代码实现1.问题描述将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I题目牛客网链接倒置字符串__牛客网 (nowcoder.com)2.问题求解及代码实现将一个字符串逆序我想应该难不倒大家,但本题要求为将单词进行倒置,而单词顺序不倒置,这时候传统的逆序方法就满足不了我们的需求,这里我们想到下面的算法解决这个问题。以 I love China. 为例,我们先以空格为间隔,将每

2021-12-02 21:30:10 944 4

原创 《C语言入门》简单序列去重排序问题

目录1.问题描述2.问题求解及代码实现1.问题描述老师给了小乐乐一个正整数序列,要求小乐乐把这个序列去重后按从小到大排序。但是老师给出的序列太长了,小乐乐没办法耐心的去重并排序,请你帮助他。输入描述:第一行包含一个正整数n,表示老师给出的序列有n个数。接下来有n行,每行一个正整数k,为序列中每一个元素的值。(1 ≤ n ≤ 10^5,1 ≤ k ≤ n)输出描述:输出一行,为去重排序后的序列,每个数后面有一个空格。题目链接小乐乐与序列_牛客题霸_牛客网2.问题求解

2021-12-01 20:09:27 286 6

原创 《C语言入门》简单字符串排序打印问题求解

目录 1.问题描述 2.问题求解及代码实现1.问题描述从键盘输入5个字符串,进行排序,然后按照大小先后顺序打印出来。我们注意到,这里的5个字符串是再键盘上输入的,在比较大小后在顺序输入,这里是比较大小而不是比较字符串长度,我们小心这一点后在下文介绍如何实现这一目标。2.问题求解和代码实现首先我们要完成的目标是从键盘上输入5个字符串并存储,这一点我想难不倒大家,我就不在此赘述,代码如下:char s[5][100] = { 0 }; char tmp...

2021-11-30 19:03:31 431 5

原创 《C语言入门》数组简单奇数在前,偶数在后问题解决

目录1.题目描述2.问题解决1.问题描述输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。2.问题解决我们拿到这样一个问题,想要用函数解决它的话,我们需要将数组作为参数来调用函数,我们使用传址调用的方式,这里不再赘述。下面介绍如何编写这个函数,首先题目描述我们将奇数排在前半部分,偶数排在后半部分,并没有要求按照大小排序,我们想到这样一个办法,我们在遍历数组的过程中再创建一个初始为0的变量n,当循环到的数组元素为

2021-11-26 22:08:51 1540 9

原创 《C语言入门》简单水仙花问题求解

目录1.问题2.问题求解及代码实现1.问题描述求出0~100000之间的所有“水仙花数”并输出。“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如 : 153=1 ^ 3+5 ^ 3+3 ^ 3,则153是一个“水仙花数”。2.问题求解及代码实现首先严格意义上的水仙花数应该是一个三位数,这里的“水仙花数”范围为0~100000,这就给我们加大了难度,我们想要求解各位数的n次方之和的话,我们需要首先求解这个数是个几位数,我们使用下面的代码简单实现:while

2021-11-25 20:45:14 1866 12

原创 《C语言入门》猜数字小游戏代码实现

目录1.基本原理2.分块目标及代码实现1.基本原理我们让电脑生成一个1~100范围内的随机数,我们输入一个值,电脑给出反馈如:猜大了或猜小了。以便我们可以缩小猜数字的区间,来猜到最后的答案。2.分块目标及代码实现和本人其他博客中的小游戏一样,我们先打印一个菜单,再获取玩家输入的值并给出反馈,若输入1则进行游戏,若为0则退出游戏,我们这里不再赘述,代码如下:int main(){ srand((unsigned int)time(NULL)); int input = 0;

2021-11-24 23:56:39 4167 10

原创 《C语言入门》你真的会打印Hello World吗,花式打印Hello World

#include<stdio.h>int main(){ printf("Hello World!"); return 0;}想必上面这一段代码是无数程序员们学习C语言后打的第一段代码,今天就给大家介绍一下如何花式打印Hello World首先我们创建两个长度相同数组,如图所示:char arr1[] = "Hello World!"; char arr2[] = "############";基本原理:我们先在屏幕上打印第二个数组,在将第一个数组的值分次替换...

2021-11-23 22:13:12 1635 8

原创 《C语言入门》简单有序数组二分查找代码实现

想必学过编程的朋友或多或少都听说过二分查找,本文将给C语言入门的朋友具体介绍一下二分查找的原理和代码实现。1.简单原理在一个有序数组中(如图),若想查找一个具体数值,多数人可能会想到历遍数组的方法,这样不仅大大降低了代码的效率,也让我们的代码变的很low。这时候就需要使用二分查找来提高代码效率,减少查找次数。int arr[] = { 1,2,3,4,5,6,7,8,9,10,11,12,13 };首先我们利用(数组大小)/(数组中一个元素)的方法求出数组长度的大小,我们利用size...

2021-11-22 21:34:19 788 13

原创 《C语言入门》扫雷小游戏C语言实现

目录1.原理简介2.分布目标及代码实现3.总结1.原理简介首先我们需要一个空的雷盘,在其中随机埋入十枚雷,当我们排这颗雷时,若此位置为雷,则游戏失败,若不是雷,则会出现周围八个方格中雷的个数,我们使用数组实现这一目标。 2.分布目标及代码实现首先我们需要打印一个菜单,并且接受用户的输入数据,判断是否进行游戏,如三子棋一样,具体代码如下:void test(){ int input = 0; srand((unsigned int)time(N...

2021-11-21 21:36:24 5352 13

原创 《C语言入门》三子棋C语言实现(详细版)

《C语言入门》三子棋C语言实现(详细版)

2021-11-20 22:48:32 5508 14

空空如也

空空如也

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

TA关注的人

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