大家好,本文主要讲c中STL库队列的详细介绍,有兴趣的同学过来看看。如果对你有帮助,记得收藏起来下次浏览。
1 .队列单向队列(先进先出,只从末尾添加元素,从开头删除元素)
用法:在前面加上文件名' # includeQueue ',然后声明' queueintm其中“”是数组的类型,“m”是数组的名称。
操作:
1.q.push()//加入团队
2.q.pop()//让队伍先出来
3.q.front()//获取团队的第一个元素
4.q.back()//获取团队的tail元素
5.问:empty()队列是空的吗?
6.q.size()返回队列中元素的数量。
#includeiostream
#includequeue
使用命名空间std
int main() {
int I;
queueintm
for(I=0;i5;i ) {
m.push(一);//元素入队
}
cout m . size()endl;//计算m中元素的个数。
for(I=0;i5;i ) {
coutm . front();//获取团队领导元素
//m . pop();//弹出队列头元素
}
返回0;
}
上面的代码运行后,因为没有队列头元素弹出,所以输出是一样的。所以为了让M中的每一个元素都输出,我们要及时弹出队列头元素,然后每次输出第一个元素就弹出。
#includeiostream
#includequeue
使用命名空间std
int main() {
int I;
queueintm
for(I=0;i5;i ) {
m.push(一);//元素入队
}
cout m . size()endl;//计算m中元素的个数。
for(I=0;i5;i ) {
coutm . front();//获取团队领导元素
m . pop();//弹出队列头元素
}
返回0;
}
这样,我们就可以输出m中的所有元素。
2 .双队列双向队列(即可以从头到尾添加元素,元素按照鸽子洞原则进入,后进先出)
用法:在前面加上文件名' # include deque ',然后声明' ' dequeintm
操作:
1.q.push_back()//尾部插入
2.q.push_front()//头插入
3.q.pop_front()//头删除
4.q.pop_back()//最后删除
5.q.front()//返回第一个元素
6.q.back()//返回最后一个元素
#includeiostream
#includedeque
使用命名空间std
int main() {
int I;
dequeintm
for(I=0;i5;i ) {
m.push_front(一);//将元素从头开始排队
}
cout m . size()endl;//计算m中元素的个数。
for(I=0;i5;i ) {
coutm . front();//获取团队领导元素
m . pop _ front();//从头部弹出第一个元素
}
返回0;
}
3.vector(可变长度数组)
用法:在前面加上文件名' # includeVector ',然后声明' ' vectorintm。
操作
1.m.push_back()//输入元素
2.m.pop_back()//删除最后一个元素
3.m.size()//获取向量的大小
4.m.clear()//清空容器中的所有数据
5.m.empty()//判断向量是否为空。
6.m.front()//引用第一个元素
7.m.back()//引用最后一个元素
#includeiostream
# includevector
使用命名空间std
int main() {
int I;
vectorintm
for(I=0;i5;i ) {
m . push _ back(I);//元素入队
}
cout m . size()endl;//获取向量容器的大小
for(I=0;i5;i ) {
cout m . back();//获取尾部元素
m . pop _ back();//从尾部弹出元素
}
cout endl
for(I=0;i5;i ) {
m . push _ back(I);
}
cout m . size()endl;
m . clear();//清除m中的所有元素。
cout m . size()endl;
返回0;
}
关于C中STL库队列的详细介绍本文到此为止,更多关于C中STL库队列的信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。