![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
sususuqingxiao
这个作者很懒,什么都没留下…
展开
-
进程间通信(2) 2021-09-08
1、进程间通信1、管道管道的本质其实就是内核中的一块内存 (或者叫内核缓冲区),这块缓冲区中的数据存储在一个环形队列中,因为管道在内核里边,因此我们不能直接对其进行任何操作。其实管道操作就是文件 IO 操作,内核中管道的两端分别对应两个文件描述符,通过写端的文件描述符把数据写入到管道中,通过读端的文件描述符将数据从管道中读出来。读写管道的函数就是 Linux 中的文件 IO 函数管道是独立于任何进程的,并且充当了两个进程用于数据通信的载体,只要两个进程能够得到同一个管道的入口和出口(读端和写端原创 2021-09-09 20:15:32 · 133 阅读 · 0 评论 -
多行字输入字符串的处理及空格分割一行字符串 C++ 2021-09-01
1、多行字输入字符串的处理当我们输入一行带空格的字符串,就要考虑getline函数,从流中读入一行字符串。编程题一般输入为:1、输入字符串行数,2、然后再一行一行读入字符串。问题:如果正常顺写编程的话,会发现第一行字符串读入的是空,后续才能正常录入每行字符串。原因:因为第一行输入一个int数据后,换行符并没有被忽略,直接被准备读入第一行字符串的getline俘获。解决:在第一行输入一个int数据后,第一次调用getline()前,调用cin.ignore()忽略下面原创 2021-09-01 22:50:30 · 1037 阅读 · 0 评论 -
huawei 2021笔试 查找知识图谱中的实例知识 C++ 2021-09-01
通过测试用例供参考2、查找知识图谱中的实例知识知识图谱是一种结构化的语义网络, 用于描述物理世界中的概念及其实例的相关关系。可以把知识图谱看成是一种有向图, 图中的点是概念或实例,图中的边是概念及其实例的相关关系。现定义一种简单的知识图谱:概念:包括父概念及其子概念,通过subClassOf关系关联,父子概念可以有多个层级; 实例:仅和概念之间通过instanceOf关系关联;关系:以三元组的形式表示,三元组是一个以空格为成员间分隔符的字符串.例如"student subClassOf person"表原创 2021-09-01 22:35:12 · 432 阅读 · 0 评论 -
2021-08-03STL源码剖析总结
1、heap1、pop_push2、pop_heap之后最大元素只是被置放于底部容器的最尾端,尚未被取走。取走使用vector的back(),移除操作使用pop_back()函数。3、sort_heap,排序后就是个递增序列,之后heap就不是个合法的heap了。4、make_heap将一段现有的数据转化成为一个heap。5、heap袁术必须遵循特别的排列规则,所以heap不提供遍历功能,也不提供迭代器。2、priority_queue1、还是queue,所以只允许底端加入元素,顶端取出原创 2021-08-03 22:55:53 · 70 阅读 · 0 评论 -
C++知识点整理
1、const与static区别参考const 定义的常量在超出其作用域之后其空间会被释放,而 static 定义的静态常量在函数执行后不会释放其存储空间。原创 2021-07-29 17:05:18 · 505 阅读 · 3 评论 -
c++ primer 顺序容器 2021-07-20
c++ 容器相关所有容器都支持的操作(不支持的括号会写)arrary元素类型和大小都是arrary类型的一部分arrayy<int, 10> digits = {0, 1,…}array与内置数组不同,是可以拷贝操作,可以对象赋值操作(要求容器类型及大小都相同)不可以将一个花括号列表赋值给arrayarray不支持assignassign向顺序容器中添加元素的操作insert函数将元素插入到迭代器所指定的位置之前vector list deque都支持ins翻译 2021-07-20 21:53:33 · 130 阅读 · 0 评论 -
DFS深度优先遍历 BFS广度优先遍历 2021-07-19
1、DFS深度优先遍历思想类似前序遍历,使用栈实现。(青岛大学mooc)2、BFS深度优先遍历思想类似层序遍历,使用队列实现。原创 2021-07-19 22:08:25 · 61 阅读 · 0 评论 -
排序总结表 2021-07-17
来源:青岛大学王卓老师稳定的直接插入排序(顺序查找/折半查找,插入)冒泡排序(双重for,外面趟数,里面比较)归并排序(多趟合并相邻两个有序数组)基数排序(桶排序)排的快的O(nlogn)快排(递归思想+找中间数)堆排序(大顶堆,小顶堆)归并排序桶排序也挺快空间少的O(1)直接插入希尔排序(增量序列必须是递减的,增量序列应该是互质的)冒泡排序直接选择排序(每趟都选出未排序部分最大的)归并排序...原创 2021-07-17 18:00:32 · 122 阅读 · 0 评论 -
排序5. 堆排序 2021-07-17
排序5. 堆排序#include <bits/stdc++.h>using namespace std;//6堆排序 O(nlogn) 没有最好最坏 空间复杂度O(1) 不稳定 对元素较多的有效//建堆 调整堆//从最后一个非叶子结点开始 n/2void HeapAdjust(vector<int>& nums, int nums_beg, int nums_end){ int temp = nums[nums_beg];//把最后一个调到根处原创 2021-07-17 15:51:02 · 72 阅读 · 0 评论 -
排序4. 简单选择排序 2021-07-16
排序4. 简单选择排序//5简单选择排序 时间复杂度 O(n^2) 不稳定->可以稳定化 空间复杂度O(1)void selectSort(vector<int>& nums){ for (int i = 0; i < nums.size() - 1; i++) { int temp = i; for (int j = i + 1; j < nums.size(); j++) {原创 2021-07-16 22:55:37 · 192 阅读 · 0 评论 -
排序3. 快速排序 2021-07-16
排序3. 快速排序#include <bits/stdc++.h>using namespace std;//对于基本有序的 就退化成无改进的冒泡排序 接近O(n^2)//快速排序 时间 平均O(nlog2n) 空间 栈空间最坏O(n) 平均O(log n) 不稳定排序//中心点 //递归思想 具体实现:选定一个中间数作为参考,所有元素与之比较,小的调到其左边,大的调到其右边。//(枢轴)中间数:可以是第一个数、最后一个数、最中间一个数、任选一个数等。//小的从左向右放 大的原创 2021-07-16 21:52:47 · 73 阅读 · 0 评论 -
排序2.冒泡排序 2021-07-16
排序算法#include <bits/stdc++.h>using namespace std;//冒泡算法 稳定排序//时间复杂度 最好O(n) 最坏和平均O(n^2) //空间复杂度 O(1) void BubbleSort(vector<int>& nums){ int len = nums.size(); bool changeFlag = true;//如果某一趟没有发生任何交换则结束 for (int i = 1; i &原创 2021-07-16 17:41:19 · 103 阅读 · 0 评论 -
排序1.插入排序 2021-07-16
排序1.插入排序(直接插入排序)#include <bits/stdc++.h>using namespace std;/*1、比较/*2、移动/* 时间复杂度 最好 O(n) 最坏O(n^2) 平均O(n^2) 稳定排序/* 空间复杂度 O(1) */template <typename T>void inserSort(vector<T> &nums){ int len = nums.size(); /*顺序查找 直接插入原创 2021-07-16 16:00:37 · 154 阅读 · 0 评论 -
容器vector的操作
原创 2021-07-08 10:20:55 · 57 阅读 · 0 评论 -
c++ 数据类型 占用空间
原创 2021-07-07 19:59:11 · 111 阅读 · 0 评论 -
c++优先队列(priority_queue)用法详解【转载】
c++优先队列(priority_queue)用法详解转载 2021-07-07 17:26:55 · 83 阅读 · 0 评论