自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Bitdancing的专栏

平平无奇工科小程序媛

  • 博客(219)
  • 资源 (5)
  • 收藏
  • 关注

原创 Linux下Gitee的user和email配置,查看配置信息命令

Linux下Gitee的user和email配置,查看配置信息命令

2023-02-08 11:27:52 1020 4

原创 【Linux】进程程序替换 &&简易mini_shell实现

进程替换

2022-08-10 15:19:39 747

原创 【Linux】实用小技巧,如何同时make多个可执行文件?

如何用make执行多个可执行文件

2022-08-10 15:00:06 846

原创 【Linux】进程等待wait/waitpid && status详解 && (非)阻塞等待(代码)

进程等待原因,进程等待方法,wait,waitpid,获取子进程status,(非)阻塞等待,进程的非阻塞等待方式代码,进程的阻塞等待方式代码

2022-08-09 17:41:08 3077 5

原创 【Linux】进程终止

进程退出情况,进程退出方法

2022-08-09 14:26:05 633

原创 【Linux】进程创建 -- fork(v2)

进程创建(fork)

2022-08-09 13:57:11 267

原创 【Linux】程序地址空间

Linux程序地址空间->虚拟地址

2022-08-03 07:30:00 245 6

原创 【Linux】环境变量

环境变量

2022-08-02 23:22:00 447 5

原创 【Linux】进程优先级PRI

进程优先级PRI

2022-08-01 08:00:00 735

原创 【Linux】进程状态(含僵尸进程,孤儿进程)

进程状态(R,S,D,T,t,Z,X),前后台进程,孤儿进程vs僵尸进程

2022-07-31 10:01:03 676 8

原创 【Linux】fork初识(用代码创建进程)

【Linux】fork初识(用代码创建进程)

2022-07-29 20:19:53 344 3

原创 【Linux】进程 && 进程控制块PCB && 查看进程

【Linux】进程 && 进程控制块PCB && 查看进程

2022-07-29 19:43:01 1320 4

原创 【Linux】vim多行注释 && 去注释

vim添加多行注释or删除注释

2022-07-29 18:34:47 603

原创 【Linux】git命令行使用(简单易上手)&& 配置免密码提交

git && 配置免密码提交

2022-07-25 16:21:00 916

原创 【Linux】项目自动化构建工具 - make/Makefile

Linux项目自动化构建工具 - make/Makefile

2022-07-25 16:08:22 229

原创 【Linux】调试器gdb的使用

Linux调试器——gdb的使用

2022-07-25 00:01:25 1078

原创 【Linux】gcc/g++使用

gcc/g++使用 && 静/动态库

2022-07-23 23:20:37 279 1

原创 【Linux】vim常见操作(自用整理)

Linux编辑代码vim常用操作

2022-07-23 19:50:56 426

原创 【算法】JZ54 二叉搜索树的第k个节点

题目链接给定一棵结点数为n 二叉搜索树,请找出其中的第 k 小的TreeNode结点值。题解中序遍历结果是升序的。把问题转化成,在搜索二叉树中,中序找第k个结点。/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */// 法一:递

2022-05-01 20:42:39 771 1

原创 【算法】JZ77 按之字形顺序打印二叉树

题目链接给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)题解/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: ve

2022-05-01 19:53:53 345

原创 【算法】JZ73 翻转单词序列

题目链接此题先对每一个单词进行逆置,然后再整体逆置。类似此题。题解class Solution {public: void _reverse(string& str, int start, int end) { // [start, end) int i = start, j = end-1; while(i < j) { swap(str[i], str[j]);

2022-05-01 15:40:08 501

原创 【算法】JZ74 和为S的连续正数序列(场景转化为模型,滑动窗口)

题目链接描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列?返回值描述:输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序题解在[1,S]区间内,找和为S的连续正数序列。定义两个整型,分别

2022-04-30 22:26:37 111

原创 【算法】JZ55 二叉树的深度

题目链接输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度,根节点的深度视为 1 。题解1/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: i

2022-04-30 18:19:29 468

原创 【算法】JZ45 把数组排成最小的数(报错:reference to non-static member function must be called)

问题在牛客做题的时候出现了一个问题:reference to non-static member function must be called题目原题如下:题目链接描述输入一个非负整数数组numbers,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组[3,32,321],则打印出这三个数字能排成的最小数字为321323。1.输出结果可能非常大,所以你需要返回一个字符串而不是整数2.拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0数据范围:

2022-04-30 14:41:11 261

原创 【算法】JZ38 字符串的排列(全排列问题,DFS)

题目链接输入一个长度为 n 字符串,打印出该字符串中字符的所有排列,你可以以任意顺序返回这个字符串数组。例如输入字符串ABC,则输出由字符A,B,C所能排列出来的所有字符串ABC,ACB,BAC,BCA,CBA和CAB。回溯法1、添加当前数据2、剪枝(因为会存在重复的字符串)3、DFS4、回退一步class Solution {public: bool IsExist(vector<string>& ret, string str) {

2022-04-29 14:29:51 439

原创 【算法】JZ34 二叉树中和为某一值的路径(二)[回溯法]

题目链接回溯法定义结果集合待选结果集,分别存放最后结果和本次结果。分为以下四步:1、先把当前值添加进待选结果集2、判断当前结果是否满足条件3、深度优先遍历4、回退/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {publi

2022-04-27 14:11:21 851

原创 【算法】剑指offer - JZ33 二叉搜索树的后序遍历序列

题目链接输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回 true ,否则返回 false 。假设输入的数组的任意两个数字都互不相同。BST:二叉搜索树是指父亲节点大于左子树中的全部节点,但是小于右子树中的全部节点的树。后序遍历按照左子树,右子树,根的顺序进行遍历。分析BST的后序遍历序列的合法序列是,对于一个序列s,最后一个元素是x(root结点),去掉最后一个元素,剩下的元素序列可以分成两段,前一段(左子树)小于x,后一段(右子树)大于x,且这两段(子树)都是合

2022-04-10 14:28:28 1293

原创 【算法】剑指offer - JZ76 删除链表中重复的结点

题目链接在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。分析1、确定去重的范围,采用 前开后闭 的方法。2、增加一个头结点,统一操作。(prev, last]的三种情况1、last->nextnullptr,整张没有重复区间2、last->next nullptr (prev, last],确定有重复区间,prev->next = last->next(nullptr)3、last->next != nullpt

2022-04-09 20:48:47 412

原创 【算法】剑指offer - JZ27 二叉树的镜像

题目链接操作给定的二叉树,将其变换为源二叉树的镜像。源二叉树镜像二叉树类比前序遍历or后续遍历先镜像反转根结点的左右子树,然后分别反转左子树和右子树。/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */class Solut

2022-04-09 17:18:10 419

原创 【算法】剑指offer - JZ26 树的子结构

题目链接输入两棵二叉树A,B,判断B是不是A的子结构。(我们约定空树不是任意一个树的子结构)假如给定A为{8,8,7,9,2,#,#,#,#,4,7},B为{8,9,2},2个树的结构如下,可以看出B是A的子结构解题思路判断B是否是A树的子结构,先确定比较的起始位置(根结点的值相等),判断其左右子树是否也相等。如果返回false,在左右子树中继续递过查找。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode

2022-04-09 16:40:36 245

原创 【算法】剑指offer- JZ25 合并两个排序的链表

题目链接输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。法一:迭代每一次循环中,取较小数值的结点,尾插到新链表后。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* Merge(ListNode* pHead1, List

2022-04-09 15:53:33 1000

原创 【算法】剑指offer - JZ22 链表中倒数最后k个结点

题目链接输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。如果该链表长度小于k,请返回一个长度为 0 的链表。双指针法尤其要注意k值比结点个数多的情况!/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : val(x), next(nullptr) {} * }; */class Solution {public: /**

2022-04-08 23:04:27 382

原创 【算法】剑指offer - JZ15 二进制中1的个数(x&(x-1))

题目链接输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。常规解法:位运算class Solution {public: int NumberOf1(int n) { int bit_1 = 1; int cnt = 0; for(int i = 0; i < 32; ++i) { if((n & bit_1) == 1)

2022-04-08 22:23:37 383

原创 【算法】剑指offer - JZ69 跳台阶(dp)

题目链接解题思路1、设f(n)表示跳上第n阶台阶的跳法数。2、则有状态转移方程,f(n) = f(n-1) + f(n-2)3、其中,f(0) = 1,f(1) = 1,f(2) = 2。C++解法一(数组)class Solution {public: int jumpFloor(int number) { // 动态规划 // f(n) = f(n-1) + f(n-2) // f(0) = 1, f(1) = 1, f(2) =

2022-04-08 20:45:53 291

原创 【算法】剑指offer - JZ10 斐波那契数列

题目链接迭代class Solution {public: int Fibonacci(int n) { int first = 1; int second = 1; int third = 1; while(n > 2) { first = second; second = third; third = first

2022-04-08 19:35:20 413

原创 【算法】剑指offer-JZ7 重建二叉树(递归)

题目链接给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。递归解法利用递归不断缩小问题的规模,通过下标进行控制。/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *ri

2022-04-08 13:55:26 201

原创 【算法】剑指offer - JZ6 从尾到头打印链表

题目链接

2022-04-08 12:52:04 1062

原创 【算法】剑指offer - JZ39 数组中出现次数超过一半的数字

题目链接候选法(最佳解法)时间复杂度:O(N)空间复杂度:O(1)如果把数字当作人种,一个数字和另外数字打了起来,同归于尽,最后剩下的是不是人数最多的那种人。这里要满足一个条件:某类人的数目一定要大于总人数的一半。**算法步骤:**选择输入数组的第一个元素作为候选元素target,设置其出现次数为1,随后遍历数组,当遇到和target相同的元素,cnt+1;不同的元素,cnt-1.当cnt==0时,选择下一个元素作为候选元素,并且置cnt=1,遍历到数组的最后,剩下的target就是要求的结果。

2022-04-07 17:22:26 681

原创 【算法】剑指offer - JZ81 调整数组顺序使奇数位于偶数前面(二)

题目链接输入一个长度为 n 整数数组,数组里面可能含有相同的元素,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,对奇数和奇数,偶数和偶数之间的相对位置不做要求,但是时间复杂度和空间复杂度必须如下要求。双指针法左指针找偶数,右指针找奇数,找到后进行交换。class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * *

2022-04-06 22:20:08 137

原创 【算法】剑指offer - JZ21 调整数组顺序使奇数位于偶数前面(一)

题目链接输入一个长度为 n 整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。解题思路1从前往后遍历,偶数后移,腾出位置,放进奇数。class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型vector *

2022-04-06 22:07:05 414

上海大学 数字逻辑实验 七周实验报告【全】

数字逻辑实验实验报告

2021-12-24

动态通讯录+文件保存.zip

使用结构体、指针、动态内存开辟、文件知识实现通讯录。

2021-07-12

MIDI音乐程序.zip

数字乐器接口(详细源码),已经调试过了,可以运行。

2021-07-10

通讯录管理-动态内存.zip

通过动态内存管理实现通讯录,增加了销毁通讯录的功能,下载就可运行程序。

2021-07-09

通讯录管理【C语言实现】.zip

C语言项目:通讯录实现【增删查改打印排序六大功能】,使用指针、函数、自定义数据类型:结构体、enum枚举类型

2021-07-09

空空如也

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

TA关注的人

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