首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏未竟东方白

    CPP】各种各样的树(5)——AVL树

    之前说到在不断地随机插入删除后,二叉树会逐渐变得偏向一边,也就是逐渐右沉,这样的状态会严重地影响二叉树的查找效率。于是乎,我们希望可以构造出一种查找二叉树能在反复插入删除后仍然保持左右平衡,也就是希望左右子树的高度相差不超过1,这种二叉树称为平衡二叉树,而这次的AVL便是要讲的第一种平衡二叉树。

    42830发布于 2020-07-29
  • 来自专栏Coxhuang

    Cpp(二) 创建Cpp工程

    文章目录 第一个Cpp例子 #1 环境 #2 概述 #3 开始 #3.1 方法一:Clion #3.2 方法二:手动创建 第一个Cpp例子 #1 环境 macOS 10.15.5 #2 概述 本文通过两种方式创建一个简单的 Cpp工程,对比两种方法的异同,这里不解释各个文件的作用,仅仅只是介绍两种创建Cpp工程的方法 #3 开始 GitHub例子:https://github.com/Coxhuang/FKCpp/tree 运行main.cpp #3.2 方法二:手动创建 创建如下文件 : build CMakeLists.txt main.cpp ? cmake_minimum_required(VERSION 3.16) project(demo) set(CMAKE_CXX_STANDARD 11) add_executable(demo_exe main.cpp ) main.cpp内容如下 : // // Created by Cox on 2020/8/30. // #include <iostream> int main() { std::cout

    92930发布于 2020-11-07
  • 来自专栏Coxhuang

    Cpp(十一) yaml-cpp的使用

    YamlCpp #1 环境 macOS 10.15.5 Cmake #2 安装 git clone git@gitee.com:Coxhuang/yaml-cpp.git cd yaml-cpp mkdir -D BUILD_SHARED_LIBS=ON make sudo make install 安装后,库文件和头文件路径: 头文件: /usr/local/include/yaml-cpp 库文件 : /usr/local/lib/libyaml-cpp.a #3 使用 #3.1 Cmake配置文件 cmake_minimum_required(VERSION 3.17) project(yaml_demo ) # 查找yaml-cpp link_directories( ${YAMLCPP_LIBRARY_DIRS} # 添加yaml-cpp库文件路径 ) add_executable(yaml_demo main.cpp) target_link_libraries(yaml_demo ${YAMLCPP_LIBRARIES} # 将yaml-cpp库连接到yaml_demo可执行文件中

    3.7K00发布于 2021-03-02
  • 来自专栏默认分类

    大数相加-cpp

    #include<iostream>#include<string>#include<algorithm>using namespace std;int main(){ string a,b,c; int length_a,length_b; cin>>a; cin>>b; length_a=a.length(); length_b=b.length(); reverse(a.begin(),a.end()); reverse(b.begin(),b.end(

    1.4K20编辑于 2023-02-06
  • 来自专栏javascript趣味编程

    SPlisHSPlasHSimulatorSimulatorBase.cpp

    = FileSystem::normalizePath(cachePath + "/" + FileSystem::getFileNameWithExt(fileName) + "_fluid.md5" ); bool md5 = false; if (useCache) { string md5Str = FileSystem::getFileMD5 (fileName); if (FileSystem::fileExists(md5FileName)) md5 = FileSystem::checkMD5(md5Str (fileName, md5FileName); } // transform particles for (unsigned int j = 0; j = md5StrState) LOG_WARN << "State was stored for another scene file.

    2.4K20发布于 2020-11-11
  • 来自专栏全栈程序员必看

    leetcode #77 in cpp

    Given two integers n and k, return all possible combinations of k numbers out of 1 … n.

    60310编辑于 2022-11-10
  • 来自专栏未竟东方白

    CPP】游标(静态)链表

    这次的代码基本来自《数据结构与算法分析——C语言描述》这本神书和网上别人写的代码。主要讲一下游标链表的原理。

    95230发布于 2020-07-29
  • 来自专栏orientlu

    lua 和 cpp 互调

    /lua-5.3.0/ #sudo apt-get install libreadline-dev $ make linux test $ sudo make install cpp 调用lua cpp lua 脚本,脚本中执行标准库函数一样,第二种结合上一节,指在 cpp 调用 lua 脚本,在被调用的 lua 中又需要调用到 cpp 中的函数。 主体,加载 lua,在 lua 中调用 cpp 注册的函数 有个等待被 cpp 加载的脚本中调用了cpp 中的函数 print("lua call, 2 args") sum, count = mylualib.c_add /lua_call_cpp.cpp . /mylualib.cpp -llua -ldl -o lua_call_cpp_1 绑定cpp 类到lua 中 在 lua 中通过表和元表实现对象,类似如下 BaseClass = {name = "

    1.1K40发布于 2018-12-24
  • 来自专栏yifei的专栏

    基础知识_Cpp

    Cpp中如何禁止一个类创建对象 2.8. 如何限制类只能在堆或栈上创建对象 2.9. 带默认参数的构造函数 2.10. Cpp构造函数私有化 2.11. 拷贝构造函数的调用时机 2.12. 修饰普通变量 const int a; a还是一个int型变量,const int 顺序可以互换: int const a; 修饰数组 const int a[5]; int const a[5]; 只读数组 ; return 0; } /* test assert: 20200930_test: 20200930_test.cpp:10: int main(): Assertion 2*2==5 http://taowusheng.cn/2019/05/18/20190518%20C++%E8%99%9A%E5%87%BD%E6%95%B0%E7%9B%B8%E5%85%B3%E7%9F%A5% 在cpp11已经被遗弃。

    2.5K30编辑于 2022-11-14
  • 来自专栏技术随笔心得

    Moderen Cpp之Enumerations

    Red; enumValue = MyNamespace::Red + MyNamespace::Blue; return 0; } 此时编译器会报如下错误: <enum.cc>:10:5: error: 'Blue' conflicts with a previous declaration 31 | Blue | ^~~~ <enum.cc>:5:5:

    29600编辑于 2023-12-06
  • 来自专栏数据结构与算法

    计算(calc.cpp)

    计算(calc.cpp) 【问题描述】 小明在你的帮助下,破密了Ferrari设的密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,其中只有“(”,“)”,“0-9”,“+”,“-”,“*”, 1 #include<cstdio> 2 #include<cstdlib> 3 #include<string> 4 #include<cstring> 5 #include<cmath>

    1.4K100发布于 2018-04-12
  • 来自专栏Andromeda的专栏

    cpp的union使用

    运行结果为4,实际上上面代码定义的union就是两个变量共用同一块内存。union的大小为最大的那一个变量。

    58630编辑于 2023-10-21
  • 来自专栏Coxhuang

    Cpp(十) WebSocket使用

    build cd build cmake .. make sudo make install 安装路径 : /usr/local/include/websocketpp #2 使用 main.cpp Boost_USE_MULTITHREADED ON) find_package(Boost REQUIRED COMPONENTS system) add_executable(wsppdemo main.cpp

    3.3K20发布于 2021-02-02
  • 来自专栏未竟东方白

    CPP】链表桶排序

    转眼就开学这么久了呀,我又在干什么呢?这学期的数据结构装逼般地买了国外的教材,虽然比国内版难上许多,但是难也就代表讲了更多的东西,那就还是要啃下去呀。那么就来简单说说如何实现链表桶排序吧。

    67840发布于 2020-07-29
  • 来自专栏Coxhuang

    Cpp(一) 安装CMake

    [TOS] Mac下安装CMake #1 环境 macOS 10.15.5 #2 开始 下载CMake安装包 https://cmake.org/download/ 2. 配置环境变量 sudo "

    1.4K20发布于 2020-11-07
  • 来自专栏yifei的专栏

    Cpp程序的编译过程

    usr/include/c++/7/cstdio" 3 \# 40 "/usr/include/c++/7/cstdio" 3 \# 3 "test.cpp" 2 \# 5 "test.cpp" 当gcc编译c程序时 gcc a.c -o a #这样就生成可执行文件a了 当gcc编译c++程序时 gcc a.cpp -lstdc++ #加个-lstdc++链接上c++的库才行. 当g++编译c程序时,跟gcc用法是一样的,实际上g++在编译c程序是也是直接调用的gcc 当g++编译cpp程序时,看下面一节. 最最常用的命令 无论编译.c还是.cpp,g++都挺方便,一般直接都用g++就可以了. 有时候只是想快速的运行一个c或cpp程序而已,就不用看上面那一坨了…直接用这条命令就够了: g++ test.cpp -o test #cpp程序 .

    1.4K10编辑于 2022-11-14
  • CC++内存管理_cpp

    5. 代码段 -- 可执行的代码 / 只读常量 2. C语言中动态内存管理方式:malloc/calloc/realloc/free 见这篇帖子,就不重复介绍了。 = new int; // 动态申请一个int类型的空间 int* p2 = new int[10]; // 动态申请10个int类型的空间 int* p4 = new int[5] {1,2,3,4,5};// 动态申请5个空间,数组初始化为{1,2,3,4,5} int* p3 = new int(10); // 动态申请一个int类型的空间并初始化为10 delete / 内置类型是几乎是一样的 int* p3 = (int*)malloc(sizeof(int)); // C int* p4 = new int; free(p3); delete p4; A* p5 = (A*)malloc(sizeof(A)*10); A* p6 = new A[10]; free(p5); delete[] p6; return 0; } 注意:在申请自定义类型的空间时,new

    13610编辑于 2025-12-30
  • 来自专栏浅聊区块链

    2023年以太坊生态5大预测

    如果 Pseudo-Danksharding 的实施在 EigenDA 上取得了成功,它可能会在以太坊级协议变更的漫长过程之前,成为所有建立在以太坊生态系统之上的 Optimistic 和 ZK-Rollups 因此,部署一个完全模块化的区块链基础设施堆栈,包括一个通用的 L2 以及可定制的 L3,将标志着单体应用链生态系统时代的结束,以及去中心化应用开发新时代的开始。 将 EVM 的去中心化和安全性与可扩展的 L3 相结合,使模块化环境远优于单体应用链生态系统。仍然需要解决重要的互操作性问题,特别是对于跨 Rollup 交易。 像 Cosmos 这样的应用链生态系统将在 2023 年继续获得牵引力。然而,随着 L3 最终在 2023 年部署,我们将看到应用链叙事从单体链生态系统转变为模块化生态系统。​

    70930编辑于 2023-02-13
  • 来自专栏数据结构与算法

    车厢调度(train.cpp)

    车厢调度(train.cpp) 【问题描述】 有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合。 【输入样例】 5 5 4 3 2 1 【输出样例】 YES 1 #include<iostream> 2 using namespace std; 3 int stack[10001]; 4 int top=1; 5 int main() 6 { 7 int n; 8 cin>>n; 9 for(int i=1;i<=n;i++) 10 { 11

    81450发布于 2018-04-12
  • 来自专栏TencentOS-tiny

    gRPC cpp 框架快速上手

    cpp版的文档地址为:https://grpc.io/docs/languages/cpp/quickstart/。 { string name = 1; int32 id = 2; bool has_ponycopter = 3; } 然后,我们可以使用protoc编译器来生成指定语言的数据结构(比如cpp 运行 进入目录examples/cpp/helloworld/cmake/build,可以看到编译出的可执行文件: 运行服务器: ./greeter_server 运行客户端: . 重新生成gRPC代码 进入helloworld编译文件夹,编译: cd examples/cpp/helloworld/cmake/build make -j8 编译会重新生成 helloworld.pb 函数中调用该函数: reply = greeter.SayHelloAgain(user); std::cout << "Greeter received: " << reply << std::endl; 5.

    1.3K20发布于 2021-11-02
领券