平衡二叉树 STL multiset初识 再加上自定义的排序方法。
来源:互联网 发布:python编辑器推荐sum 编辑:程序博客网 时间:2024/06/03 06:48
#include <cstdio>#include <iostream>#include <set> //使用multiset和set需要此文件using namespace std;int main(){ multiset<int>st; int a[10]={1,14,12,13,7,13,21,19,8,8}; for (int i = 0;i < 10;i ++) st.insert(a[i]);//插入的是a[i]的复制品 multiset<int>::iterator i;//迭代器,类似于指针 for (i = st.begin();i != st.end();i ++) cout << *i << ","; cout << endl;}
我的第一个平衡二叉树的模型multiset
i = st.find(22); //查找22.返回值为迭代器 if (i == st.end()) //找不到则返回值为 end(); cout << "not found" << endl; st.insert(22); //插入22; i = st.find(22); if (i == st.end()) cout << "not found" << endl; else cout << "found:" << *i << endl; //找到则返回指向找到元素的迭代器。}
i = st.lower_bound(13);//返回最靠后的迭代器 it,//使得[begin(),it)中的元素 //都在 13 前面,复杂度为 log(n) cout << *i << endl; i = st.upper_bound(8);//返回最靠后的迭代器 it,//使得(it ,end()]中的元素 //都在 8后面,复杂度为 log(n) cout << *i << endl; st.erase(i);//删除迭代器指向的元素 for (i = st.begin();i != st.end();i ++) cout << *i << ","; return 0;}
lower_bound 第一个>=的元素
upper_bound 第一个>的元素
所以中间的就是==的元素
这里有一个十分奇怪的问题,原先的地方都是可以用cmp来替换Rule表示的结构体,然而,现在看起来不行了
且其中的Rule都不需要加括号了。cmp是无论如何都不行了
最后补充一个st.size()返回这个容器的大小。
阅读全文
0 0
- 平衡二叉树 STL multiset初识 再加上自定义的排序方法。
- UVA 11020 multiset、lower_bound、 upper_bound STL里面的排序二叉树
- 平衡二叉树的转换和平衡方法
- 平衡二叉树的调整方法
- 平衡二叉树排序树
- java排序--平衡二叉树
- 平衡二叉树的
- 平衡二叉树 构造方法
- 平衡二叉树 构造方法
- 平衡二叉树构造方法
- 平衡二叉树 构造方法
- 平衡二叉树 构造方法
- [LeetCode] 从排序的单链表到平衡搜索二叉树
- 平衡二叉树插入某个节点的方法
- 平衡二叉树删除某个节点的方法
- 判断二叉平衡树的三种方法
- 二叉排序平衡树查找-动态查找
- 排序二叉树,平衡二叉树和红黑树的概念以及相关的操作讲解
- 《python入门学习笔记1》(基本数据类型)
- 【java基础:net】基于TCP的客户端与服务端Demonstration
- JSP声明
- JSP表达式
- Linux系统的crontab设置
- 平衡二叉树 STL multiset初识 再加上自定义的排序方法。
- 数据结构Collection-----LinkedList源码解析
- crontab循环定时任务
- JSP页面生命周期
- JSP生成九九乘法表
- UGUI的按钮监听事件系统
- JSP内置对象简介
- Linux anacron配置及总结
- 如何处理一个tableView中同种model多种cell相同逻辑的情况?