C++/C stack栈,set集和,queue队列的基本操作

本文介绍了C++/C中的三种基本数据结构:Set集合,Stack栈和Queue队列。Set集合支持自动去重和排序,提供了插入、获取头尾元素、删除元素和获取大小等操作。栈是一种先进后出的线性表,主要操作包括弹出栈顶元素、查看栈顶元素、判断栈空和元素入栈。队列则是先进先出结构,支持在队尾插入元素,获取队头和队尾元素,查询大小以及判断队列是否为空。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值