12.红黑树set
#include <iostream>
//红黑树(自动保证平衡,自动生成平衡查找树)
#include <set>
#include <cstring>
#include <cstdlib>
using namespace std; //红黑树增删查改
void main1()
{
set<int> myset{ ,,,, };
myset.insert();
myset.insert();
//重复的数据会被忽略
myset.insert(); //中序遍历
for (auto i : myset)
{
cout << i << endl;
} //正向迭代
for (auto ib = myset.begin(), ie = myset.end(); ib != ie; ib++)
{
cout << *ib << endl;
} //反向迭代
for (auto rb = myset.rbegin(), re = myset.rend(); rb != re; rb++)
{
cout << *rb << endl;
} auto it = myset.find();
if (it != myset.end())
{
cout << "find" << *it << endl;
//不能修改
//*it = 9;
//删除
myset.erase(it);
//或者
//myset.erase(10);
}
else
{
cout << "not find" << *it << endl;
} //元素个数
myset.size();
//清空
myset.empty();
cin.get();
} struct strless
{
bool operator()(const char *str1, const char *str2)
{
return (strcmp(str1, str2) < );
}
}; void main()
{
const char *p[] = { "calc","notepad","run","go" ,""};
//设置比较函数 前边是类型,后边是比较的函数
set<const char *, strless> myset(p, p + , strless());
myset.insert(""); for (auto i : myset)
{
cout << i << endl;
}
cin.get();
}
12.红黑树set的更多相关文章
- Atitit 常见的树形结构 红黑树 二叉树 B树 B+树 Trie树 attilax理解与总结
Atitit 常见的树形结构 红黑树 二叉树 B树 B+树 Trie树 attilax理解与总结 1.1. 树形结构-- 一对多的关系1 1.2. 树的相关术语: 1 1.3. 常见的树形结构 ...
- 研究jdk关于TreeMap 红黑树算法实现
因为TreeMap的实现方式是用红黑树这种数据结构进行存储的,所以呢我主要通过分析红黑树的实现在看待TreeMap,侧重点也在于如何实现红黑树,因为网上已经有非常都的关于红黑树的实现.我也看了些,但是 ...
- 浅谈算法和数据结构: 七 二叉查找树 八 平衡查找树之2-3树 九 平衡查找树之红黑树 十 平衡查找树之B树
http://www.cnblogs.com/yangecnu/p/Introduce-Binary-Search-Tree.html 前文介绍了符号表的两种实现,无序链表和有序数组,无序链表在插入的 ...
- 平衡树 - 红黑树(JQuery+Js+Canvas版本的,帮助大家理解)
红黑树 1.红黑树介绍 年写的一篇论文中获得的.它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的:它可以在O(log n)时间内做查找,插入和删除,这里的n是树中元素的数目. 2 ...
- NYOJ202 红黑树 【预购】
红黑树 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描写叙述 什么是红黑树呢?顾名思义,跟枣树类似.红黑树是一种叶子是黑色果子是红色的树. .. 当然,这个是我说的. .. ...
- 新秀nginx源代码分析数据结构篇(四)红黑树ngx_rbtree_t
新秀nginx源代码分析数据结构篇(四)红黑树ngx_rbtree_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csd ...
- nginx 红黑树详解
1 介绍 这部分终于整理完了,太耗时间了,留下来备忘吧! 之前看STL源码时,只是研究了红黑树的插入部分.在stl源码剖析的书中,也没有涉及到删除操作的分析,这次对删除操作也进行了详细的研究, 并且还 ...
- 红黑树的插入Java实现
package practice; public class TestMain { public static void main(String[] args) { int[] ao = {5, 1, ...
- [转载] 红黑树(Red Black Tree)- 对于 JDK TreeMap的实现
转载自http://blog.csdn.net/yangjun2/article/details/6542321 介绍另一种平衡二叉树:红黑树(Red Black Tree),红黑树由Rudolf B ...
随机推荐
- iOS开发UI调试神器----Reveal
做iOS的开发,UI是非常非常重要的一环.调试时我们一般用模拟器,提交前用真机做測试.用模拟器来调试UI效果尽管快捷方便,但有时仍然希望有更强大的工具来帮助分析UI,尤其是专注在UI的效果调试时.近期 ...
- Http抓包工具--查尔斯
查尔斯 查尔斯:http://www.charlesproxy.com/ 这是比較好用的抓包工具.有Mac.Windows.Linux版本号.能够相应用程序.浏览器.手机.手机模拟器进行抓包. 官方站 ...
- 汇编 -- Hook API (MessageBoxW)
说到HOOK.我看了非常多的资料和教程.无奈就是学不会HOOK.不懂是我的理解能力差.还是你们说的 不够明确,直到我看了下面这篇文章,最终学会了HOOK: http://blog.sina.com.c ...
- android 处理Back键按下事件
package com.example.keyevent; import android.os.Bundle; import android.view.KeyEvent; import android ...
- iOS7实现带文本输入框的UIAlertView及获取TextField文本内容
if (customAlertView==nil) { customAlertView = [[UIAlertView alloc] initWithTitle:@"自定义服务器地址&quo ...
- [AH2017/HNOI2017] 礼物 解题报告 (FFT)
题目链接: https://www.luogu.org/problemnew/show/P3723 题目: 我的室友最近喜欢上了一个可爱的小女生.马上就要到她的生日了,他决定买一对情侣手环,一个留给自 ...
- 查看typedef类型
typedef unsigned long int NUM; #include <iostream> using namespace std; NUM x; cout << t ...
- [转]Adobe CC 2018 下载链接 Creative Cloud 2018 - Creative Cloud 2018 – Adobe CC 2018 Download Links
Creative Cloud 2018 – Adobe CC 2018 Download Links – ALL Languages Adobe CC 2018Direct Downloads Win ...
- PostgreSQL 索引膨胀
索引膨胀,主要针对B-tree而言 索引膨胀的几个来源: 大量删除发生后,导致索引页面稀疏,降低了索引的使用效率: PG9.0之前的版本,vacuum full会同样导致索引页面稀疏: 长时间运行的事 ...
- bat脚本启动exe并打开文件后退出 + 中文乱码
写了个脚本用于复制模板到新的cpp文件. 将脚本路径加到环境变量里,只需在cmd窗口输入“new hdu 1419”,就会自动将模板拷贝到WORK_DIR下的hdu文件夹内一个名叫"1419 ...