自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++实现七大排序算法

七大排序方法比较:排序方法 平均情况 最好情况 最坏情况 辅助空间 稳定性 冒泡排序 O(N2) O(N) O(N2) O(1) 稳定 选择排序 O(N2) O(N2) O(N2) O(1) 不稳定 插入排序 O(N2) O(N) O(N2) O(1) 稳定 希尔排序 O(NlogN)-O(N2) O(N1.3) O(N2) O(1) 不稳

2022-03-10 17:10:20 1883

原创 C/C++实现矩阵/图像向右旋转90度

使用C/C++对图像/矩阵向右旋转,具体的实现原理及步骤如下图所示:#include <iostream>#include <string.h>using namespace std;int main(){ int w = 4, h = 4; int imgSize = w * h; unsigned short *pImg = NULL; unsigned short *pImgR = NULL; ...

2022-05-10 14:02:42 2015

原创 Linux常用指令

1. 关机和重启关机shutdown -h now //立刻关机shutdown -h 5 //5分钟后关机 poweroff //立刻关机重启shutdown -r now //立刻重启shutdown -r 5 //5分钟后重启reboot //立刻重启2. 帮助命令shutdown --helpifconfig --help /...

2022-04-28 10:01:05 181

原创 C++创建并打印单链表

下面代码实现了使用C++语言根据输入数据创建一个单链表:例如输入:1 2 3 4 5 -1(结束符)打印链表:1->2->3->4->5->NULL#include <iostream>using namespace std;struct ListNode{ int val; struct ListNode *next;};/ 创建单链表 head作为第一个元素节点void...

2022-04-25 10:13:22 2173

原创 C++实现二叉树的深度优先遍历(DFS)和广度优先遍历(BFS)

对于如下图所示的二叉树:深度优先遍历:ABDECF广度优先遍历:ABCDEF#include <iostream>#include <stack>#include <queue>#include <algorithm>using namespace std;struct TreeNode{ int val; TreeNode *lchild; TreeNode *rchild; TreeNode(

2022-04-22 11:29:18 2099

原创 C++实现反转链表

反转链表是数据结构里面一道很经典的题目,在秋招刷题时通常是广大同学们入门的第一题,具体反转前后链表的结构如下图所示:对于反转链表通常有两组实现的方式,非递归法和递归法,具体的实现如下代码所示:#include <iostream>using namespace std;struct ListNode{ int val; struct ListNode *next;};//1.非递归法反转链表ListNode* reverseList(...

2022-04-19 11:07:25 6650

原创 C++在线编程处理特殊数组输入[1,2,3,4,5]

对于牛客等平台在进行在线编程时,通常需要手动编写数据的输入部分。对于常规的数组通常按照如下规则(空格分隔)进行输入,对于此类输入,直接可以在for循环里面使用多次cin来对数组的元素进行输入。Input: 1 2 3 4 5vector<int> nums;for(int i = 0; i < 5; i++){ int tmp; cin>>tmp; nums.push_back(tmp);}但是对于如下所示的输入,则需...

2022-04-19 10:50:24 2208

原创 C/C++中new/delete和malloc/free的区别

操作对象有所不同1.malloc/free是C/C++语言的标准库函数,new/delete是C++的运算符。2.对于用户自定义的对象而言,用maloc/free无法满足动态管理对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。3.由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。 因此C++需要一个能完成动态内存分配和初始化工作的运算符new,以及一个能完成清理与释放内存工作

2022-04-19 10:27:55 193

原创 Visual Studio 2013创建动态链接库并调用

1.打开VS2013,创建一个Win32控制台应用程序,挑选位置后点击“确定”按钮。2.挑选应用程序类型为DLL,并且选择附加选项中的空项目,点击“完成”按钮。3.分别添加dllTest.h文件和dllTest.cpp文件,文件的内容如下,定义了一个实现两个整型变量相加的函数add。#include <iostream>__declspec(dllexport) int add(int x, int y);#include "dllTest.h"i

2022-03-17 17:18:42 1126

原创 QT显示Raw格式的图片

在使用QT进行图像显示时,对于如jpg和png等图片格式的实现可以借助QT很方便的就实现,但是使用QT显示Raw数据时,则相对麻烦一点,主要的原因在于Raw格式的图片不包含关于图片的高度、宽度和数据类型等信息,因此需要在进行图像显示时将上述信息进行指定。在使用QT进行Raw数据显示时,本文推荐使用QLable进行。首先,在ui界面上绘制一个控件Label。其次,绘制一个按钮PushButton。 在PushButton的槽函数内编写下面的代码段,即可显示数据格式为Raw...

2022-03-07 16:44:13 2885 3

原创 C++判断系统是大端存储还是小端存储

大端模式: 字数据的高字节存储在低地址中,而字数据的低字节存储在高地址中。小端模式: 字数据的低字节存储在低地址中,而字数据的高字节存储在高地址中。TCP/IP协议规定对于多字节数据,采用大端存储。由于大小端存储的模式不同,可以借助共用体(union)来进行判别。对于共用体,内部变量共享同一片内存空间,如下图所示。通过给int型变量a赋值为1,判断char型变量b的值即可判断出当前系统是大端存储还是小端存储。由于...

2022-03-07 15:44:50 2949

原创 C/C++实现Matlab中比特位反转函数(bitrevorder)

在Matlab中,可以通过调用bitrevorder()函数轻松实现对一个整型数字的比特位反转,但是C/C++的math.h库中并没有对于此函数的实现: 1、二进制表示:对需要进行比特位反转的整型数字,将其用指定位数的二进制数表示出来。如用3位二进制数表示1(011),用4位二进制数表示1(0011)。 2、比特位反转:将二进制数的高低位的次序反转一下,即最低位变为最高位,次低位变为次高位,依次执行反转过程。如二进制001反转后为100,二进制110...

2021-05-21 09:36:20 2456

空空如也

空空如也

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

TA关注的人

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