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;
    }
    
  • 相关阅读:
    2018上C语言程序设计(高级)作业-第0次作业
    最后一次作业-- 总结报告
    第14、15教学周作业
    第七周作业
    第六周作业
    第四周作业
    C语言--第四次作业
    C语言--第三次作业
    C-语言第二次作业(大一下)
    TRY
  • 原文地址:https://www.cnblogs.com/liutongqing/p/7506688.html
Copyright © 2011-2022 走看看