• 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;
    }
    
  • 相关阅读:
    方便处理hosts的批处理脚本:hosts助手.bat
    IOS tableView的基本使用
    IOS 分页(pagingEnabled)
    IOS 添加定时器(NSTimer)
    IOS ScrollView的使用 and delegate
    IOS 设置定时器,执行方法
    IOS 拼接按钮文字
    IOS 设置ipone状态栏的样式
    IOS xcode常用的快捷键
    IOS 制作常用代码的快捷方式
  • 原文地址:https://www.cnblogs.com/liutongqing/p/7506688.html
Copyright © 2020-2023  润新知