一、Set集合
set可以自动去重和排序(当向一个set集和中插入元素时,它可以自动的去掉重复的元素,并且自动排序)
set的基本操作
1、s.insert()插入元素
2、s.begin()头元素
3、s.end()尾元素
4、s.erase()删除某个元素
5、s.size()集和的大小
#include<iostream>
#include<stack>
#include<set>
using namespace std;
int main(){
set<int> s;
int a[10]={1,2,4,1,2,3,10,9,10,10};
for(int i=0;i<10;i++){
s.insert(a[i]);
}
// 遍历set中的元素
set<int>::iterator it;
for(it = s.begin();it != s.end();it++){
cout<<*it<<" ";
}
cout<<endl;
// 删除set中的10
s.erase(10);
for(it = s.begin();it != s.end();it++){
cout<<*it<<" ";
}
cout<<endl;
return 0;
}
二、栈的基本操作
栈是一种先进后出的线性表(最先入栈的元素,可能会最后出来)
1、s.pop()弹出栈顶元素但是不返回值
2、s.top()返回栈顶元素
3、s.empty()判断栈是否为空
4、s.push(n)元素入栈
#include<iostream>
#include<stack>
#include<set>
using namespace std;
int main(){
stack<int>s;
int a[10]={1,2,3,4,5,6,7,8,9,10};
for(int i=0;i<10;i++){
// 元素入栈
s.push(a[i]);
}
while(!s.empty()){
//取出栈顶元素
cout<<s.top()<<" ";
//弹出栈顶元素,但是 不返回值
s.pop();
}
cout<<endl;
return 0;
}
三、Queue队列
队列是一种先进先出的数据结构,在队尾插入元素,在队首弹出。
1、s.push()在队尾插入元素
2、s.front()对头元素
3、s.back()对尾元素
4、s.size()队列的大小
5、s.empty()队列是否为空
#include<iostream>
#include<queue>
using namespace std;
int main(){
int a[10]={1,2,3,4,5,6,7,8,9,10};
queue<int> s;
//入队列
for(int i=0;i<10;i++){
s.push(a[i]);
}
// 头元素
cout<<s.front()<<endl;
//尾元素
cout<<s.back()<<endl;
//队列中元素的个数
cout<<s.size()<<endl;
//遍历队列中元素
while(!s.empty()){
cout<<s.front()<<" ";
s.pop();
}
cout<<endl;
return 0;
}