C++
boost66
这个作者很懒,什么都没留下…
展开
-
ubuntu18使用cmake与vscode编译调试多文件cpp工程
我的文件目录如下:其中include为头文件,src文件夹下为源文件,bin下为可执行文件一、生成CMakeLists.txt文件# 声明要求的 cmake 最低版本cmake_minimum_required( VERSION 3.20 )# 声明一个 cmake 工程project(myWebServer)# 设置编译模式set( CMAKE_BUILD_TYPE "Debug" )set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wa原创 2022-04-08 15:34:46 · 1516 阅读 · 0 评论 -
牛客ACM模式标准输入
牛客ACM模式标准输入1、cin根据cin>>sth 中sth的变量类型读取数据,这里变量类型可以为int,float,char,char*,string等诸多类型。这一输入操作,在遇到结束符(Space、Tab、Enter)就结束,且对于结束符,并不保存到变量中。cin不能读取空格,遇到第一个非空格字符开始读,读取到下一空格字符停止读取,且不会将空格符保存到缓冲区中。cin从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,cin>>会将其忽略并清除,继原创 2022-04-07 14:40:46 · 3636 阅读 · 1 评论 -
window利用远程对虚拟机上中的Ubuntu18进行c++调试,并最终实现代码的自动补全
一、准备1、Ubuntu需要准备安装gdb、make、gcc、g++2、window需要准备安装vscode、openssh(window自带)3、可以先在powershell中利用openssh进行远程连接测试,输入:ssh username@ip地址例如:ssh [email protected]连接成功说明Ubuntu和windows环境没有问题,然后配置vscode。二、配置vscode1、安装插件2、vscode中的左栏出现远程资源管理器,点击SSH Targets原创 2021-11-19 12:38:29 · 1185 阅读 · 0 评论 -
Ubuntu18种安装vimd的补全插件YouCompleteMe
一、需要准备的依赖项1、cmake14以上2、gcc8.0以上3、vim8.2以上3、含有python3开发环境首先讲上述依赖项安装成功。二、安装Vundle这是vim下插件的管理工具,首先安装该工具。git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim输入cd ~进入家目录,再输入vim ~/.vimrc进行vim配置,让vim安装该插件。将一下内容复制到.vimrc文件中:原创 2021-11-17 15:58:33 · 1108 阅读 · 0 评论 -
七大排序算法——直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序
typedef struct{// int r[MAXSIZE + 1]; //用于存储排序数组,r[0]用作哨兵或者临时变量vector r{0, 50, 10, 90, 30, 70, 40, 80, 60}; //方便测试,直接定义容器存储数据int length = 8; //记录顺序表的长度} SqList;void swap(SqList &L, int i, int j){ //交换L数组r中下标为i和j原创 2021-10-13 19:57:13 · 356 阅读 · 0 评论 -
c++程序编译过程中的四个阶段——预处理、编译器、汇编器、链接器
1、预处理阶段预处理器根据以字符#开头的命令,修改原来的cpp程序,比如#include命令告诉预处理器读取系统文件iostream的内容,并把它直接插入到程序文本当中,结果就得到另一个cpp程序(文本),通常以.i作为文件扩展名。g++ -E main.cpp -o main.i,后缀名为.i,没有-o main.i只进行预处理,不会生成文件,需要将输出重定向到 .i 文件中,则需要加-o。2、编译阶段汇编器将文本文件main.i翻译成文本文件main.s。它包含一个汇编语言程序。预处理后的文件原创 2021-10-08 17:07:08 · 2663 阅读 · 0 评论 -
图的遍历——主要有基于递归思想的深度优先递归算法和基于队列的广度遍历算法
#define MAXVEX 100 //最大顶点数bool visited[MAXVEX];typedef struct main{ int vexs[MAXVEX]; //顶点表,记录顶点信息,可以用vector记录,数据类型可根据具体情况确定 int arc[MAXVEX][MAXVEX]; //邻接矩阵,可以使用vector<vector<int>>定义 int numVertexes, numEdges; //顶点数和边数原创 2021-10-06 15:59:47 · 214 阅读 · 0 评论 -
二叉树的前序遍历、中序遍历、后序遍历、层序遍历算法(分别采用递归思想与迭代思想实现)
/*分别使用递归思想与迭代思想实现二叉树的前序遍历、中序遍历、后序遍历*///递归思想实现前序遍历、中序遍历、后序遍历//1、递归思想实现前序遍历void PreOrderTraverse(BitTree T){ if (T == NULL) return; printf("%c", T->data); //显示节点数据,可以更改为对其他节点的操作 PreOrderTraverse(T->lchild); //再先序遍历左子树原创 2021-09-24 21:13:05 · 291 阅读 · 0 评论 -
二叉树遍历算法的应用——计算二叉树的深度、计算二叉树的节点总数、计算二叉树的叶子节点数(均采用递归的思想)
//二叉树遍历算法的应用//1、计算二叉树的深度int Depth(BitTree T){ if(T==NULL)return 0;//如果是空树,返回0 else{ m=Depth(T->lchild); n=Depth(T->rchild); if(m>n)return m+1; else return n+1; }}//2、计算二叉树节点总数int NodeCount(BitTree T原创 2021-09-23 22:00:51 · 1075 阅读 · 0 评论