forked from cpp-tutor/learnmoderncpp-tutorial
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path07-lists.cpp
More file actions
28 lines (25 loc) · 715 Bytes
/
07-lists.cpp
File metadata and controls
28 lines (25 loc) · 715 Bytes
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
// 07-lists.cpp : forward and bi-directional lists
#include <iostream>
#include <string>
#include <forward_list>
#include <list>
using namespace std;
int main() {
forward_list<string> fwd;
auto iter = fwd.before_begin(); // note: member function
cout << "Please enter some words (blank line to end):\n";
for (;;) {
string s;
getline(cin, s);
if (s.empty()) {
break;
}
fwd.insert_after(iter, s); // note: member function
++iter; // note: must "keep up"
}
list<string> lst(begin(fwd), end(fwd)); // copy fwd into lst
lst.sort();
for (const auto& e : lst) {
cout << "- " << e << '\n';
}
}