标准输入输出
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
void Test1(){
int i;char c;double d;string s,s1;
ios::sync_with_stdio(false);//关闭c语言流的链接
cin.tie(0);//关闭cin和cout的链接
cin >> i >> c >> d >> s;
cin.get();//混合getline使用时,用来吃掉cin产生的换行符,避免被getline读到
cout << i << ' ' << c << ' ' << d << ' ' << s;
getline(cin,s1,@);//可以读取一整行包括空格,并以@结尾
cout << s1;
}
void Test2(){
//字符串流
string s2="123456 654321";
stringstream ss;
ss << s2;
int sint1,sint2;
ss >> sint1 >> sint2;
cout << sint1 << sint2;
ss.clear();//清流,避免下次使用出现残留数据
}
int main(){
//Test1();
Test2();
return 0;
}
容器
#include <bits/stdc++.h>
#include <stack>
using namespace std;
//栈
void Test1(){
stack <int> sta;
sta.push(1);
sta.push(2);
//sta.emplace(2);
cout << sta.top() <<endl;
for(int i=0;i <= sta.size(); i++) sta.pop();
if (sta.empty()) cout << "stack empty!";
}
//队列
void Test2(){
queue <int> que;
que.push(1);
que.push(2);
cout << que.size() << endl;
while(!que.empty()){
cout << que.front() << ' ';
que.pop();
}
}
//单向链表
void Test3(){
list <int> li;
list<int>::iterator it;
for(int i=0;i<10;i++){
li.insert(li.begin(),i);
for(it = li.begin();it != li.end();it++)cout<< *it << ' ';
cout<<endl;
li.insert(li.end(),i);
for(it = li.begin();it != li.end();it++)cout<< *it << ' ';
cout<<endl;
}
cout<< li.size() << endl;
while(!li.empty()){
cout << li.front() << li.back() << endl;
li.erase(li.begin());
}
}
//双端队列 (栈和队列都是它的派生类)
void Test4(){
int n[10]={0,1,2,3,4,5,6,7,8,9};
//deque<int> deq_cope(10,1);
//deque<int> deq_cope(n,n+10);
deque<int> deq_cope(&n[1],&n[9]);//左闭右开区间
/*
//c++11
deque<int> deq {1, 2, 3, 4, 5, 6};
deque<int> deq_cope {begin(deq),end(deq)-2};
*/
for(int i = 0;i<deq_cope.size();i++){
//cout << deq[i] << endl;
cout << deq_cope.at(i);
}
}
int main(){
//Test1();
//Test2();
Test3();
//Test4();
return 0;
}
标签:deque,cout,cope,STL,deq,练习,cin,240308,include
From: https://www.cnblogs.com/nicere/p/18061804