multiset
/平衡二叉树插入查找删除数据
复杂度为log n/
#include<stdio.h>
#include
#include
#include
using namespace std;
int main(){
multiset st;//定义一个multiset的变量,里面数据能自动排序
int a[7]={26,3,13,2,53,23,343};
int i;
for(i=0;i<7;i++){ //将a[]中元素内容给st
st.insert(a[i]);
}
multiset::iterator p; //遍历用的迭代器,类似于指针
for(p=st.begin();p!=st.end();p++){ //st.begin指向头元素
//st.end指向最后一个元素的后面
printf("%d “,*p); //读内容
}
printf(”\n");
multiset::iterator j; //用于查找
j=st.find(20); //查找某数,返回为迭代器
if(j==st.end()) printf(“no num\n”);
else printf("%d\n",*j);
st.insert(20); //插入
for(p=st.begin();p!=st.end();p++){ //st.begin指向头元素
//st.end指向最后一个元素的后面
printf("%d ",*p); //读内容
}
printf("\n");
st.erase(13); //删除
for(p=st.begin();p!=st.end();p++){ //st.begin指向头元素
//st.end指向最后一个元素的后面
printf("%d ",*p); //读内容
}
return 0;
}