cb04a_c++_数据结构_STL_queue队列-一般用来做系统软件开发

/*cb04a_c++_数据结构_STL_queue队列-一般用来做系统软件开发
队列(只能两端数据)与堆栈(只能一端操作数据)都没有迭代器。,
队列:FIFO先进先出
自适应容器(容器适配器)
栈适配器STL queue
queue<int,queue<int> q;
queue<int,list<int> q;
//但不能用vector做队列。队列要求两端,前后都可以操作。
q.empty();
q.size();
q.front();
q.back();
q.pop();
q.push(item);

cout << "现在队列里面有: " << aaq.size() << endl;
cout << "队首的数据:" << aaq.front() << endl;
cout << "队尾的数据: " << aaq.back() << endl;
aaq.pop();//删除数据,队首的数据

http://www.cplusplus.com/reference/vector/vector/insert/
*/

 1 /*cb04a_c++_数据结构_STL_queue队列-一般用来做系统软件开发
 2 队列(只能两端数据)与堆栈(只能一端操作数据)都没有迭代器。,
 3 队列:FIFO先进先出
 4 自适应容器(容器适配器)
 5 栈适配器STL queue
 6 queue<int,queue<int> q;
 7 queue<int,list<int> q; 
 8 //但不能用vector做队列。队列要求两端,前后都可以操作。
 9 q.empty();
10 q.size();
11 q.front();
12 q.back();
13 q.pop();
14 q.push(item);
15 
16 cout << "现在队列里面有: " << aaq.size() << endl;
17     cout << "队首的数据:" << aaq.front() << endl;
18     cout << "队尾的数据: " << aaq.back() << endl;
19     aaq.pop();//删除数据,队首的数据
20 
21 http://www.cplusplus.com/reference/vector/vector/insert/
22 */
23 
24 #include <iostream>
25 #include <queue>
26 #include <vector>
27 #include <list>
28 #include <deque>
29 
30 using namespace std;
31 
32 int main()
33 {
34     //queue<int, list<int>>
35     list<int> a; //list 前后都可以添加数据
36     a.push_back(1);
37     a.push_front(2);
38     list<int>::iterator iterList;
39     iterList = a.begin();
40     a.insert(iterList,11);//在开头的前面插入2
41     ++iterList;
42     a.erase(iterList); //删除迭代器指向的位置
43 
44     vector<int> a1;
45     vector<int>::iterator ivec;
46     ivec = a1.begin();
47     a1.push_back(11);//vector只能尾部添加数据
48     
49     //for (ivec = a1.begin(); ivec != a1.end(); ++ivec)
50     //    cout << *ivec << endl;
51     //cout <<"vector:"<< a1[0] << endl;
52     //cout << "list: " << a[0] << endl;//error:链表不是数组,没有下标
53 
54     
55     deque<int> ab;
56     ab.push_back(11);
57     ab.push_front(12);
58     //cout << "deque: "<<ab[0] << endl;
59 
60     //queue队列,例子:
61     queue<int, deque<int>> aq;//队尾插入,队首删除
62     queue<int, list<int>> bq;
63 
64     queue<int> aaq;//默认是deque;
65     aaq.push(10);//队尾插入
66     aaq.push(5);
67     aaq.push(-1);
68     aaq.push(20);
69     cout << "现在队列里面有: " << aaq.size() << endl;
70     cout << "队首的数据:" << aaq.front() << endl;
71     cout << "队尾的数据: " << aaq.back() << endl;
72     aaq.pop();//删除数据,队首的数据
73     cout << "现在新的队首的数据是:" << aaq.front() << endl;
74 
75     while (aaq.size() != 0)
76     {
77         cout << "删除: " << aaq.front() << endl;
78         aaq.pop();
79     }
80     if (aaq.empty())
81     {
82         cout << "现在队列里面的数据是空的。" << endl;
83     }
84 
85 
86     
87 
88     
89     
90 
91 
92     return 0;
93 }

 

posted @ 2020-02-14 13:58  txwtech  阅读(318)  评论(0编辑  收藏  举报