-
Notifications
You must be signed in to change notification settings - Fork 939
Expand file tree
/
Copy pathmain.cpp
More file actions
executable file
·67 lines (57 loc) · 2.24 KB
/
main.cpp
File metadata and controls
executable file
·67 lines (57 loc) · 2.24 KB
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
#include "../exercise.h"
#include <deque>
// READ: `std::deque` <https://zh.cppreference.com/w/cpp/container/deque>
int main(int argc, char **argv) {
// TODO: 为下列 ASSERT 填写正确的值
{
std::deque<int> dq = {1, 2, 3};
// TODO: 使用 `push_front` 和 `push_back` 添加正确元素
dq.push_front(?);
dq.push_back(?);
ASSERT(dq.front() == 0, "Front element should be 0");
ASSERT(dq.back() == 4, "Back element should be 4");
dq.pop_front();
dq.pop_back();
ASSERT(dq.size() == ?, "Deque size should be ? after popping");
ASSERT(dq[0] == ? && dq[1] == ? && dq[2] == ?, "Deque elements should be ?");
}
{
std::deque<std::string> dq;
// TODO: 使用 `emplace_back` 和 `emplace_front` 添加正确元素
dq.emplace_back(?);
dq.emplace_front(?);
ASSERT(dq.front() == "World", "Front element should be 'World'");
ASSERT(dq.back() == "Hello", "Back element should be 'Hello'");
// TODO: 使用 `erase` 删除正确元素
dq.erase(?);
ASSERT(dq.size() == 1, "Deque size should be 1 after erase");
ASSERT(dq.front() == "Hello", "Remaining element should be 'Hello'");
}
{
std::deque<int> dq = {10, 20, 30};
int sum = 0;
for (const auto &val : dq) {
sum += val;
}
ASSERT(sum == ?, "Sum of elements should be ?");
}
{
// 比较运算符测试
std::deque<int> dq1 = {1, 2, 3};
std::deque<int> dq2 = {1, 2, 3};
std::deque<int> dq3 = {1, 2, 4};
ASSERT(dq1 ? dq2, "填入正确的比较运算符,== 或 != 或 < 或 >");
ASSERT(dq1 ? dq3, "填入正确的比较运算符,== 或 != 或 < 或 >");
ASSERT(dq1 ? dq3, "填入正确的比较运算符,== 或 != 或 < 或 >");
}
{
// swap测试
std::deque<int> dq1 = {1, 2, 3};
std::deque<int> dq2 = {4, 5};
dq1.swap(dq2);
// TODO: 为 ? 填写正确的值
ASSERT(dq1.size() == ? && dq1[0] == ? && dq1[1] == ?, "the contents of dq1 should be ?");
ASSERT(dq2.size() == ? && dq2[0] == ? && dq2[1] == ? && dq2[2] == ?, "the contents of dq2 should be ?");
}
return 0;
}