容器基本排序问题

10 篇文章 7 订阅

LIST容器

 
 
#include<iostream>
#include<list>
#include<algorithm>
using namespace std;
int main()
{
	list<int> a1,a2;
	a1.push_back(1);//在末尾添加元素 
	a1.push_back(5);
	a1.push_back(2);
	a1.push_back(4);
	a1.push_back(3);
	a2.push_front(1);//在开头添加元素 
	a2.push_front(5);
	a2.push_front(2);
	a2.push_front(4);
	a2.push_front(3);
    list<int>::iterator it;
     cout <<"a1:"<<" ";//list没有默认排序 
     for(it = a1.begin();it!=a1.end();it++){
       cout<< *it << " ";
     }  
      cout << endl;
     //a1.sort();//调用sort函数升序排列 
     a1.sort(less<int>());
     cout <<"a1:"<<" ";
     for(it = a1.begin();it!=a1.end();it++){
       cout<< *it << " ";
     }  
      cout << endl;
      
	it=a2.begin();
	cout <<"a2:"<<" ";
	while(it!=a2.end())
	{
	cout<< *it << " ";
	it++;
	}
    cout << endl;
    
	a2.sort(less<int>());//升序排列 
	cout <<"a2:"<<" ";
 	it=a2.begin();
	while(it!=a2.end())
	{
	cout<< *it << " ";
	it++;
	}
    cout << endl;
}



 

 

关于list知识的博客:
http://www.cnblogs.com/scandy-yuan/archive/2013/01/08/2851324.html
http://www.cnblogs.com/loleina/p/5179677.html
关于sort函数的博客:
http://blog.csdn.net/hzyong_c/article/details/7791415


vector容器:

 

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
	vector<int>v[2];
	v[0].push_back(5);//在尾部添加一个元素,不存在push_front() 
	v[0].push_back(2);
	v[0].push_back(4);
	v[0].push_back(1);
	v[0].push_back(3);
	while(!v[0].empty())
	{
		cout<<v[0].back()<<" ";
		v[0].pop_back();
	}
	
	v[0].push_back(5);
	v[0].push_back(2);
	v[0].push_back(4);
	v[0].push_back(1);
	v[0].push_back(3);
	cout<<endl;
	vector<int>::iterator it;
	it=v[0].begin();
	while(it!=v[0].end())
	{
		cout<<*it<<" ";
		it++;
	}
	cout<<endl;
	
	//v[0].sort();与list不同,vector不能调用sort();
	
	sort(v[0].begin(),v[0].end());//此种方式正确为升序排列 
	it=v[0].begin();
	while(it!=v[0].end())
	{
		cout<<*it<<" ";
		it++;
	}
	cout<<endl;
	
	sort(v[0].begin(),v[0].end(),greater<int>());//降序排列 
	it=v[0].begin();
	while(it!=v[0].end())
	{
		cout<<*it<<" ";
		it++;
	}
	cout<<endl;
}

 

博客:http://m.blog.csdn.net/ihadl/article/details/7400929


set容器:

 

 

#include<iostream>
#include<set>
using namespace std;
int main()
{
	set<int>num;
	//num.push(0);//set不用此方式添加元素
	num.insert(2); 
	num.insert(5); 
	num.insert(1); 
	num.insert(3); 
	num.insert(4);
	set<int>::iterator it;
	it=num.begin();
	while(it!=num.end())//set容器默认排序为升序排列 
	{
		cout<<*it<<" ";
		it++;
	 } 
	 cout<<endl;
	 
	 set<int,greater<int> >num1;//给set容器加属性降序排列 
	num1.insert(2); 
	num1.insert(5); 
	num1.insert(1); 
	num1.insert(3); 
	num1.insert(4);
	 it=num1.begin();
	while(it!=num1.end())
	{
		cout<<*it<<" ";
		it++;
	 } 
	 cout<<endl;
}
//set容器不能调用sort函数 

博客:
http://transcoder.baiducontent.com/tc?srd=1&dict=32&h5ad=1&bdenc=1&lid=16546135879561249358&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_ytK1DK6mlrte4viZQRAQDLmL8WSAkfk5GeDhAoDliXdPD-vnsVOrxpms7ohznuPd4ThgK34Hg1PyQ2iOASVH8VmyPjzk_

 

http://m.blog.csdn.net/lyhvoyage/article/details/22989659

http://m.blog.csdn.net/master_feng2009/article/details/11836137

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值