c++
文章平均质量分 64
落霞与孤鹜亓飞
与其感慨路难行,不如马上出发
展开
-
C++ 引用踩的坑
我在ns3模拟器网络的基础上想实现一个简单的区块链系统,在这个区块链系统中,每两个邻居节点之间都会记录互相广播的交易哈希。于是每个节点都有两个 map 的存储,其结构为:std::map<IPV4Address, std::vector<std::string>> m_sendTxHash;std::map<IPV4Address, std::vector<std::string>> m_recvTxHash;这两个 map 的键是节点的 IP 地址,原创 2021-04-23 14:38:26 · 425 阅读 · 0 评论 -
c++11 thread学习笔记
C++11 线程学习笔记C++11 中创建线程的方式在c++11中有三种创建线程的方式:函数指针方式函数对象方式Lambda函数创建函数对象之前,首先需要引入线程的头文件, 如果你是在linux下VSCode中使用线程,需要在tasks.json文件的args属性中添加"-pthread".下面的例子展示了使用函数指针创建线程的方式:#include <iostream&...原创 2019-12-26 14:31:22 · 725 阅读 · 0 评论 -
C++ chrono 获取当前时间
代码#include <chrono>#include <ctime>#include <iostream>int main() { using namespace std; using namespace std::chrono; // 获取当前时间 system_clock::time_point now = system_clo...原创 2019-12-13 18:29:02 · 9251 阅读 · 0 评论 -
visual c#中调用visual c++ 编译的cxform.dll问题总结
1.调用bat自动生成的cxform-c.dll库的结果最近有一个项目,收到“J2000”的坐标要转换为“GEO”格式显示,不同坐标系之间的转换,网上已经有现成的源代码了,源代码叫做cxform,百度搜索不到的话,google一下,就可以找到其网站介绍,这里给出网站链接,这个网站中Download下下载选项,可以直接现在源代码进行编译,也可以下载在MSVC和GCC、linux、Mac以及SunOS下原创 2017-05-28 22:47:24 · 648 阅读 · 0 评论 -
求二叉树镜像
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10原创 2017-07-26 23:25:23 · 449 阅读 · 0 评论 -
c++给容器赋值实现批量赋值的算法
说明:下列算法如果没有特殊说明,则来自algorithm头文件,对容器批量进行赋值的算法: std::generate将gen函数的返回值挨个赋值给[first,last)范围内的容器。等价于:template class ForwardIterator, class Generator>void generate ( ForwardIterator first, ForwardIt原创 2018-02-01 16:01:27 · 12465 阅读 · 1 评论 -
11条最全面的C/C++编码规范总结
作者:来源:liyuefeilong的专栏对于不同的编程语言来说,具体的编码规范可以有很大的不同,但是其宗旨都是一致的,就是保证代码在高质量完成需求的同时具备良好的可读性、可维护性。例如我们可以规定某个项目的C语言程序要遵循这样的规定:变量的命名,头文件的书写和#include 等等。下面是一些广为采用的编码规范: • GNU Coding Standards • Guid转载 2018-01-29 18:59:11 · 244 阅读 · 0 评论 -
c++vector基础知识
vector 是STL中应用最为广泛的一类容器,这里对其重要的特性做一个概括和总结。vector的初始化vector的初始化,见如下代码。vector<int> v2; // vector with 0 elementvector<int> v3(20); // vector with 20 elements whose value is...原创 2018-02-02 20:38:14 · 317 阅读 · 0 评论 -
c++中deque和list的基础知识
STL中deque和vector的构造函数,assign基本相同,重点介绍deque的特性,deque和vector的主要区别如下:deque是双端队列的数据结构,可以在队首和队尾高效的添加和删除元素,这是相对于vector的优势。deque内部采用分段连续的内存空间来存储元素,在插入元素的时候随时都可以重新增加一段新的空间并链接起来,因此虽然提供了随机访问操作,但访问速度和vector相...原创 2018-02-13 19:18:56 · 3806 阅读 · 0 评论 -
450.Delete Node in a BST
Delete Node in a BST在二分查找树中删除一个给定值所在的节点,随后返回删除后二叉树的根节点。解题思路:利用二分查找树查找该节点key,key和当前根节点的value进行比较: (1) 如果key<<>>>value,说明要删除的节点在根节点的右子树上。 (3) 如果key == value,表明要删除的节点就是当前根节点,按照如下情况讨...原创 2018-07-19 15:34:47 · 210 阅读 · 0 评论 -
Search in Rotated Sorted Array
Search in Rotated Sorted Array对一个有序排列的数组,升序排列,每个数各不相同。将其中前面一部分数据挪到后面变成一个新的数组,给定一个数,求这个数在新数组中的下标。 该数存在则返回下标,否则返回-1。思路:首先使用二分查找找到数组中最小的那个数的位置small_index,然后以最小的这个数为轴,可以将该数组划分为两部分,small_index之前的数为升...原创 2018-07-14 16:22:14 · 267 阅读 · 0 评论 -
c++ 中字符串split函数
写这个只是用来记忆一下,时至今日才发现c++ 的cstring类中已经有了字符串分split的函数,自己一直没有发现,羞愧难当,不过还好我是一个知耻后勇的人,既然今天发现了,那就记下来。cstring中有一个strtok_s函数,它是一个分割字符串安全函数,其函数原型如下:char *strtok_s( char *_String, const char *_Delimiter, char *...原创 2018-10-10 19:31:57 · 2813 阅读 · 0 评论 -
c++ 中的format函数
c++中字符串format,还是需要用到c语言中的sprintf_s,在c++ 库中,我之前只学了c++语言,对于c语言的学习有一些抵触情绪,但是有好的东西还是得接收。至少sprintf_s以及c语言的printf比c++中的cout强不知道多少倍了。sprint_f的函数原型如下: int sprintf_s(char *buffer,size_t sizeOfBuffer,const ch...原创 2018-10-10 19:49:35 · 5662 阅读 · 0 评论 -
C++ IO类
c++标准库中定义的IO类型有:头文件:iostream iostream定义了用于读写流的基本类型。头文件:fstream fstream定义了用于读写命名文件的类型。头文件:sstream 是stream定义了读写内存string对象的类型。原创 2015-07-28 22:01:17 · 663 阅读 · 0 评论 -
Valid Parentheses
1.问题描述Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.The brackets must close in the correct order, "()" and "()[]{}"原创 2016-07-02 20:09:51 · 294 阅读 · 0 评论 -
QT中QMainWindow手动添加菜单栏以及其他控件
QT中的建立一个界面为QMainwindow的主界面,如果想在主界面中手动添加MenuBar,同时再添加别的控件时,一定要定义一个QWidget的控件,把除了MenuBar之外的控件放到QWidget中,否则绘制出来的界面中控件会覆盖已有的菜单栏。举个栗子,具体代码如下:void MainWindow::InitializeWindow(){ //设置窗口的图标和名称 setWi原创 2016-01-04 02:01:35 · 6979 阅读 · 0 评论 -
c++中的iostream
c++标准库中定义的IO类型有: 头文件:iostream iostream定义了用于读写流的基本类型。 头文件:fstream fstream定义了用于读写命名文件的类型。 头文件:sstream stream定义了读写内存string对象的类型。iostream类 iostream将流数据视为一个字节接一个字节的流。如果流的目标是文件或者控制台屏幕,数据源通常是程序的一部分原创 2016-01-04 02:25:31 · 1453 阅读 · 0 评论 -
利用回溯算法求马周游问题
马周游问题描述 对于一个8*8的棋盘,用下列的方式编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48原创 2016-01-04 03:53:22 · 5332 阅读 · 0 评论 -
Add Two Numbers
Add two numbes You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit.原创 2016-01-13 15:01:51 · 461 阅读 · 0 评论 -
Longest Palindromic Substring
Longest Palindromic Substring Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic subst原创 2016-02-14 14:21:27 · 373 阅读 · 0 评论 -
ZigZag Conversion
ZigZag Conversion The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P原创 2016-02-14 15:16:34 · 430 阅读 · 0 评论 -
Reverse Integer
Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321算法思路 先求出整数有多少位,然后将其反转,但是需要注意反转后的数是否越界,如果越界,直接返回0代码实现class Solution {public:原创 2016-02-14 15:53:52 · 420 阅读 · 0 评论 -
String to Integer (atoi)
String to Integer (atoi) String to Integer (atoi) The function first discards as many whitespace characters as necessary until the first non-whitespace character is found. Then, starting from this原创 2016-02-14 16:14:07 · 332 阅读 · 0 评论 -
Median of Two Sorted Arrays
Median of Two Sorted Arrays There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).原创 2016-02-03 19:06:35 · 573 阅读 · 0 评论 -
Palindrome Number
判断一个数字是否为回文数最简单的方法就是先把这个整数反转,然后将反转后的整数和原来的整数相减,然后如果结果为0,则为回文数,否则不是代码:class Solution {public://num是0~9的数字,time>=1,num为最高位的数,time为位数int getRslt(int num, unsigned time){ while (1<time--) {原创 2016-03-18 21:35:59 · 382 阅读 · 0 评论 -
Remove Nth Node From End of List
删除链表的倒数第n个元素算法:用三个指针p,q,r,p指针作为前移指针,q指针指向倒数第n个元素的指针,r为q指针的前面一个元素的指针。起始时刻p指向head,让p和q之间的距离为n,这样当p指向链表末尾的时候,q自然指向的是倒数第n个元素。代码:/** * Definition for singly-linked list. * struct ListNode { * int val原创 2016-03-20 21:52:47 · 301 阅读 · 0 评论 -
THREE SUM
3Sum问题Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note: The solution set must not contain原创 2016-06-27 22:21:12 · 401 阅读 · 0 评论