区别:Linux内核中用到的红黑树是可以存储同样的key的,但是STL标准库map中用到的红黑树不能存储相同的key,原因是map对原有的红黑树做了修改。 1.原有的红黑树结构是可以插入相同的key 例如以下是截取的nginx 的红?树的实现,nginx 的红?树的实现和Linux内核中红黑树的实现 ...
分类:
编程语言 时间:
2021-01-27 14:01:29
阅读次数:
0
##std::list <list> ###列表性质 1、双向链表 2、只支持双向顺序访问,不支持下标访问(随机访问迭代器)(元素随机访问) 3、因为不支持随机访问迭代器,所以不能使用std::sort进行排序,需要调用成员函数list::sort 4、在list中任何位置进行插入/删除操作速度都很 ...
分类:
编程语言 时间:
2021-01-25 11:13:54
阅读次数:
0
1. vector 变长数组,长度根据需要而自动变化的数组。 当普通数组会超过内存的情况,这种情况使用vector会让问题的解决便捷许多。 vector可以用来以邻接表的方式存储图 1.1 vector的定义 定义一维变长数组 vector<typename> name; 这个的typename可以 ...
分类:
编程语言 时间:
2021-01-25 11:02:50
阅读次数:
0
#列表namelist=["小众","小王","小李"]print(namelist[0])print(namelist[1])print(namelist[2])tastlist=[1,"测试"]#列表中可以储存混合类型print(type(tastlist[0]))print(type(tast ...
分类:
编程语言 时间:
2021-01-25 10:56:08
阅读次数:
0
学会一种语言最好的办法就是拿它写一道算法题{ 鉴于sort和stl实现不了,就选取了莫比乌斯反演的题来实现 golang还是挺臭屁的,但是大的上面难度还是很低的,go也熟悉了不少 package main import "fmt" func Min(x, y int) int { if x < y ...
分类:
编程语言 时间:
2021-01-21 10:45:47
阅读次数:
0
1. 二分查找 C++ STL标准库中提供有 lower_bound()、upper_bound()、equal_range() 以及 binary_search() 这 4 个查找函数,它们的底层实现采用的都是二分查找的方式。 1.1 lower_bound() lower_bound() 函数用 ...
分类:
其他好文 时间:
2021-01-18 11:23:23
阅读次数:
0
通常在C或C++的编程过程中可以使用头文件#inlcude<algorithms>来使用在其他标准库中的一些相关函数,例如最近我在使用的——快排。 快排函数qsort位于#include<stdlib.h>标准函数库中,但是可以使用头指针#inlcude<algorithms>直接调用快排函数而不用 ...
分类:
编程语言 时间:
2021-01-18 11:20:41
阅读次数:
0
一、在一个vector后面追加另一个vector 1 std::vector<int> vec1; 2 std::vector<int> vec2; 3 vec1.insert(vec1.end(), vec2.begin(), vec2.end()); ...
分类:
编程语言 时间:
2021-01-16 11:46:34
阅读次数:
0
算法导论随笔(二) 手动建堆 作为stl选手,对于手写堆接触较少,不过熟悉建堆的过程还是有不少收获的。 堆的载体:一个长度为n的数组 基本操作:维持某节点的堆性质 void heapify(int o) //维护i号节点的堆性质 { while (1) { int ls = o << 1; int ...
分类:
编程语言 时间:
2021-01-15 12:10:01
阅读次数:
0
前言 当客户端需要进行网络下载操作时如果只是简单的用多线程这么一个操作而不给用户知道当前的下载进度的话那么用户将不知道已经下载了多少,甚至有可能直接关闭了主应用程序。那就杯具了。那么如何在另外的线程中来更新UI? 讨论 WPF却明确的规定:UI元素只能由其主线程来操作,其他任何线程都不可以直接操作U ...