C++STL之栈、队列、vector、表

stack:栈

1.  #include<stack>  //用来将STL的stack包含到程序中

2.  stack<int> s;    //是一个声明,用于生成管理int型元素的栈。在<>中指定类型,从而定义管理该类型数据的容器

3.  成员函数:
        size()      返回栈的元素数
        top()       返回栈顶的元素
        pop()       从栈中取出并删除元素
        push(x)     向栈中添加元素x
        empty()     在栈为空时返回true

例题:ALDS1_3_A:Stack

queue:队列

1.  #include<queue>     //用来将STL的queue包含到程序中

2.  queue<string> Q;    //是一个声明,用于生成管理string型元素的队列。在<>中指定类型,从而定义管理该类型数据的容器

3.  成员函数:
        size()      返回队列的元素数
        front()     返回对头的元素
        pop()       从队列中取出并删除元素
        push(x)     向队列中添加元素x
        empty()     在队列为空时返回true

例题:ALDS1_3B:Queue

vector:动态数组(向量)

基本概念:可以在添加元素时增加长度的数组称为动态数组或可变长数组。

1.  #include<vector>    //用来将STL的vector包含到程序中。
2.  vector<double> V    //是一个声明,用于生成管理double型元素的向量。
    //注:在访问vector中的元素(赋值或写入)时,可以与数组一样使用"[]"运算符。
3.  成员函数:
        size()          返回向量的元素数
        push_back(x)    在向量末尾添加元素x
        pop_back()      删除向量的最后一个元素
        begin()         返回指向向量开头的迭代器
        end()           返回指向向量末尾(最后一个元素的后一个位置)的迭代器
        insert(p, x)    在向量的位置p吃插入元素X
        erase(p)        删除向量中位置p的元素
        clear()         删除向量中所有元素
    //注:向长度为n的vector的特定位置执行插入或删除操作时,算法复杂度为O(n)

list:表

1.  #include<list>  //用来将STL的list包含到程序中
2.  list<char> L    //是一个声明
3.  成员函数:
        size()          返回表的元素数
        begin()         返回指向表开头的迭代器
        end()           返回指向表末尾(最后一个元素的后一个位置)的迭代器
        push_front(x)   在表的开头添加元素x
        push_back(x)    在表的末尾添加元素x
        pop_front()     删除位于表开头的元素
        pop_back()      删除位于表末尾的元素
        insert(p, x)    在表的位置p处插入元素x
        erase(p)        删除表中位置p的元素
        clear()         删除表中所有元素

list与vector的比较:

  1. 都可以通过"[ ]"运算符直接访问特定元素, 也可以用迭代器逐个访问。
  2. list的特有功能:元素的插入和删除操作只需O(1)就可以完成。
该资源不适合C、C++初学者,可作为C++高手向大师级进化的参考书。 内容: ... 17 Library introduction 17.1 General 17.2 The C standard library 17.3 Definitions 17.4 Additional definitions 17.5 Method of description (Informative) 17.6 Library-wide requirements 18 Language support library 18.1 General 18.2 Types 18.3 Implementation properties 18.4 Integer types 18.5 Start and termination 18.6 Dynamic memory management CONTENTS v c ISO/IEC N3000=09-0190 18.7 Type identification 18.8 Exception handling 18.9 Initializer lists 18.10Other runtime support 19 Diagnostics library 456 19.1 General 19.2 Exception classes 19.3 Assertions 19.4 Error numbers 19.5 System error support 20 General utilities library 20.1 General 20.2 Requirements 20.3 Utility components 20.4 Compile-time rational arithmetic 20.5 Tuples 20.6 Metaprogramming and type traits 20.7 Function objects . 520 20.8 Memory 541 20.9 Time utilities 583 20.10Date and time functions 596 20.11Class type_index 596 21 Strings library 599 21.1 General 599 21.2 Character traits 599 21.3 String classes 605 21.4 Class template basic_string 608 21.5 Numeric Conversions 635 21.6 Null-terminated sequence utilities . 636 22 Localization library 640 22.1 General 640 22.2 Header <locale> synopsis 640 22.3 Locales 641 22.4 Standard locale categories . 653 22.5 Standard code conversion facets 693 22.6 C Library Locales 695 23 Containers library 696 23.1 General 696 23.2 Container requirements 696 23.3 Sequence containers 719 23.4 Associative containers . 758 23.5 Unordered associative containers . 776 24 Iterators library 791 24.1 General 791 24.2 Iterator requirements 791 CONTENTS vi c ISO/IEC N3000=09-0190 24.3 Header <iterator> synopsis 796 24.4 Iterator primitives 799 24.5 Iterator adaptors . 802 24.6 Stream iterators . 816 25 Algorithms library 825 25.1 General 825 25.2 Non-modifying sequence operations 835 25.3 Mutating sequence operations 839 25.4 Sorting and related operations 848 25.5 C library algorithms 862 26 Numerics library 864 26.1 General 864 26.2 Numeric type requirements . 864 26.3 The floating-point environment 865 26.4 Complex numbers 866 26.5 Random number generation . 876 26.6 Numeric arrays 920 26.7 Generalized numeric operations 940 26.8 C Library 944 27 Input/output library 949 27.1 General 949 27.2 Iostreams requirements . 950 27.3 Forward declarations 950 27.4 Standard iostream objects 952 27.5 Iostreams base classes . 954 27.6 Stream buffers 972 27.7 Formatting and manipulators 982 27.8 String-based streams 1009 27.9 File-based streams 1021 28 Regular expressions library 1036 28.1 General 1036 28.2 Definitions 1036 28.3 Requirements 1037 28.4 Header <regex> synopsis 1039 28.5 Namespace std::regex_constants 1045 28.6 Class regex_error 1048 28.7 Class template regex_traits 1048 28.8 Class template basic_regex 1051 28.9 Class template sub_match 1056 28.10Class template match_results 1062 28.11Regular expression algorithms 1066 28.12Regular expression Iterators . 1070 28.13Modified ECMAScript regular expression grammar 1076 29 Atomic operations library 1079 29.1 General 1079 29.2 Header <atomic> synopsis 1079 CONTENTS vii c ISO/IEC N3000=09-0190 29.3 Order and Consistency . 1082 29.4 Lock-free Property 1084 29.5 Atomic Types 1085 29.6 Operations on Atomic Types 1094 29.7 Flag Type and Operations 1098 29.8 Fences . 1099 30 Thread support library 1101 30.1 General 1101 30.2 Requirements 1101 30.3 Threads 1102 30.4 Mutual exclusion . 1107 30.5 Condition variables 1121 30.6 Futures 1129 A Grammar summary 1149 A.1 Keywords 1149 A.2 Lexical conventions 1149 A.3 Basic concepts 1154 A.4 Expressions . 1154 A.5 Statements . 1158 A.6 Declarations . 1159 A.7 Declarators . 1162 A.8 Classes . 1164 A.9 Derived classes 1165 A.10 Special member functions 1165 A.11 Overloading . 1165 A.12 Templates 1166 A.13 Exception handling 1167 A.14 Preprocessing directives 1167 B Implementation quantities 1169 C Compatibility 1171 C.1 C++ and ISO C 1171 C.2 Standard C library 1181 D Compatibility features 1185 D.1 Increment operator with bool operand . 1185 D.2 static keyword . 1185 D.3 Access declarations 1185 D.4 Implicit conversion from const strings . 1185 D.5 register keyword 1185 D.6 C standard library headers . 1185 D.7 Old iostreams members 1186 D.8 char* streams 1187 D.9 Binders 1196 D.10 auto_ptr 1198 E Cross references 1201 Index 1218 CONTENTS viii ISO/IEC N3000=09-0190 Index of Grammar Productions 1243 Index of Library Names 1246 Index of Implementation Defined Behavior 1280
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值