zoukankan      html  css  js  c++  java
  • C++顺序容器之list初探

    C++顺序容器之list初探

    双向链表,支持双向顺序访问。在list中任何位置进行插入和删除速度都很快。
    list不支持随机访问,为了访问一个元素,必须遍历整个容器。

    #include<iostream>
    #include<list>
    #include<algorithm>
    using namespace std;
    void printList(const list<int>& a);
    void printList(const list<int>& a)
    {
    	// 注意形参中是const list,所以下面也需要用const_iterator
    	// 否则distance无法使用
    	list<int>::const_iterator iter;
    	for (iter = a.begin(); iter != a.end(); ++iter)
    	{
    		size_t index = distance(a.begin(), iter);
    		cout << "a[" << index << "] = " << *iter << endl;
    	}
    	cout << endl;
    }
    int main()
    {
    	list<int> a;
    	// push_front、push_back插入数据
    	a.push_front(4);
    	a.push_front(3);
    	a.push_front(2);
    	a.push_front(1);
    	a.push_back(50);
    	printList(a);
    
    	// insert插入数据
    	list<int>::iterator iter;
    	iter = a.begin();
    	a.insert(iter, 0);
    	a.insert(++iter, 10);
    	a.insert(++iter, 4, 20); // 插入4个20
    	printList(a);
    
    	
    	// sort排序
    	cout << "sort排序" << endl;
    	a.sort();
    	printList(a);
    
    	// reverse逆序
    	cout << "reverse逆序" << endl;
    	a.reverse();
    	printList(a);
    
    	// erase删除指定元素
    	cout << "erase删除指定元素" << endl;
    	a.erase(iter);
    	printList(a);
    
    	// erase删除指定区间的元素
    	cout << "erase删除指定区间元素" << endl;
    	a.erase(++a.begin(), --a.end());
    	printList(a);
    
    	system("pause");
    	return 0;
    }
    
  • 相关阅读:
    Google Maps Android API v2 开发笔记
    eclipse快捷键设置
    浮动div,回到顶部
    android开发环境
    Android百度地图开发之地址解析MKSearch.geocode()
    java基础(for循环)
    博客园首记
    记录有待阅读的文章——2013.2.2
    整理推荐的CSS属性书写顺序
    JavaScript——Firebug控制台详解
  • 原文地址:https://www.cnblogs.com/liutongqing/p/7506688.html
Copyright © 2011-2022 走看看