基础
Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口。
队列容器允许从一端新增元素,从另一端移除元素。
队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为。
队列中进数据称为 —- 入队 push
队列中出数据称为 —- 出队 pop
代码
Talk is cheap, show me the code.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| #include<iostream> using namespace std; #include<queue>
class Person { public: Person(string name, int age) { this->name = name; this->age = age; }
string name; int age; };
void test01() { Person p1("zhao", 20); Person p2("qian", 30); Person p3("sun", 40); Person p4("li", 50);
queue<Person> q1; q1.push(p1); q1.push(p2); q1.push(p3); q1.push(p4);
queue<Person> q2(q1);
queue<Person> q3; q3 = q2;
while (!q3.empty()) { cout << "队头的人是:" << q3.front().name << " " << q3.front().age << endl; cout << "队尾的人是:" << q3.back().name << " " << q3.back().age << endl; q3.pop(); cout << "Size Now: " << q3.size() << endl; }
}
int main() { test01(); system("pause"); return 0; }
|