c++ List函数

Lists将元素按顺序储存在链表中

List基本函数

assign() 给list赋值 
back() 返回最后一个元素 
begin() 返回指向第一个元素的迭代器 
clear() 删除所有元素 
empty() 如果list是空的则返回true 
end() 返回末尾的迭代器 
erase() 删除一个元素 
front() 返回第一个元素 
get_allocator() 返回list的配置器 
insert() 插入一个元素到list中 
max_size() 返回list能容纳的最大元素数量 
merge() 合并两个list 
pop_back() 删除最后一个元素 
pop_front() 删除第一个元素 
push_back() 在list的末尾添加一个元素 
push_front() 在list的头部添加一个元素 
rbegin() 返回指向第一个元素的逆向迭代器 
remove() 从list删除元素 
remove_if() 按指定条件删除元素 
rend() 指向list末尾的逆向迭代器 
resize() 改变list的大小 
reverse() 把list的元素倒转 
size() 返回list中的元素个数 
sort() 给list排序 
splice() 合并两个list 
swap() 交换两个list 
unique() 删除list中重复的元素

例题1:士兵队列训练问题 hdu 1276

#include
#include
#include
#include
#include

using namespace std ;

int main(){
	int m ;
	cin >> m ;
	while( m-- ){
		int n ;
		int k = 2 ;
		cin >> n ;
		list<int> mylist ;
		list<int>::iterator it ;
		for(int i = 1 ; i <= n ; i++ ) mylist.push_back(i);
		while(mylist.size() > 3){
			int num = 1 ;
			for( it = mylist.begin() ; it != mylist.end() ; ){
				if( num++ % k == 0 )  it = mylist.erase(it) ;
				else it++ ;
			}
			k == 2 ? k = 3 : k = 2 ;
		}
		for( it = mylist.begin() ; it != mylist.end() ; it++ ){
			if(it != mylist.begin()) cout << " " ;
			cout << *it ;
		}
		cout << endl ;
	}
	return 0 ;
}

你可能感兴趣的:(c++,c++)