C++ list学习

//list学习
#include<iostream>
#include<list>
#include<string>

using namespace std;

int main() {
	string str;
	while (getline(cin, str)) {
		list<char> slist;
		for (int i = 0;i < str.size();i++) {
			slist.push_back(str[i]);//push_back
		}

		slist.unique();//unique,don't delete the same data which are not adjoining
		for(list<char>::iterator it = slist.begin();it!=slist.end();it++)
			cout << *it;
		cout << endl;

		slist.reverse();//reverse
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;

		slist.clear();//clear

		slist.assign(10,'a');//assign
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;

		slist.push_front('c');//push_front
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;

		slist.pop_front();//pop_front
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;

		slist.pop_back();//pop_back
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;

		cout << slist.back() << endl;//back
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;

		cout << slist.front() << endl;//front

		for (list<char>::reverse_iterator it = slist.rbegin();it != slist.rend();it++)//reverse_iterator,rbegin,rend
			cout << *it;
		cout << endl;
		
		slist.insert(slist.begin(), '2');//insert
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;

		slist.insert(slist.begin(), 2, '5');//insert
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;

		slist.erase(slist.begin());//erase
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;

		list<char> plist;

		plist.assign(7, 'b');

		slist.merge(plist);//merge
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;

		slist.remove('2');//remove
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;

		slist.resize(10);//resize
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;

		slist.resize(20, 'n');//resize
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;

		slist.sort();//sort
		for (list<char>::iterator it = slist.begin();it != slist.end();it++)
			cout << *it;
		cout << endl;
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值