ผลต่างระหว่างรุ่นของ "Psl/stl"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
| แถว 54: | แถว 54: | ||
lst.erase(i20); | lst.erase(i20); | ||
print_list(lst); | print_list(lst); | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | == Set == | ||
| + | |||
| + | <syntaxhighlight lang="cpp"> | ||
| + | #include <set> | ||
| + | #include <cstdio> | ||
| + | |||
| + | using namespace std; | ||
| + | |||
| + | set<int> iset; | ||
| + | |||
| + | void print_set(set<int>& s) | ||
| + | { | ||
| + | for(set<int>::iterator i = s.begin(); | ||
| + | i != s.end(); ++i) { | ||
| + | printf("%d\n", *i); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | main() | ||
| + | { | ||
| + | set<int> s; | ||
| + | s.insert(10); | ||
| + | s.insert(100); | ||
| + | s.insert(50); | ||
| + | s.insert(30); | ||
| + | |||
| + | print_set(s); | ||
| + | |||
| + | s.insert(-100); | ||
| + | printf("%d\n",*(s.begin())); | ||
| + | s.insert(-200); | ||
| + | printf("%d\n",*(s.begin())); | ||
| + | s.insert(-150); | ||
| + | printf("%d\n",*(s.begin())); | ||
| + | |||
| + | set<int>::iterator i = s.find(-200); | ||
| + | if(i != s.end()) { | ||
| + | s.erase(i); | ||
| + | } | ||
| + | printf("%d\n",*(s.begin())); | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
รุ่นแก้ไขเมื่อ 06:44, 16 กุมภาพันธ์ 2558
List / iterator
#include <list>
#include <cstdio>
using namespace std;
list<int> lst;
main()
{
lst.push_back(10);
lst.push_back(20);
lst.push_back(30);
list<int>::iterator i = lst.begin();
while(i != lst.end()) {
printf("%d\n", *i);
i++;
}
}
erase โดยระบุ iterator
#include <list>
#include <cstdio>
using namespace std;
list<int> lst;
void print_list(list<int>& lst)
{
list<int>::iterator i = lst.begin();
while(i != lst.end()) {
printf("%d\n", *i);
i++;
}
}
main()
{
lst.push_back(10);
lst.push_back(20);
list<int>::iterator i20 = lst.end();
i20--;
lst.push_back(30);
print_list(lst);
printf("-----\n");
lst.erase(i20);
print_list(lst);
}
Set
#include <set>
#include <cstdio>
using namespace std;
set<int> iset;
void print_set(set<int>& s)
{
for(set<int>::iterator i = s.begin();
i != s.end(); ++i) {
printf("%d\n", *i);
}
}
main()
{
set<int> s;
s.insert(10);
s.insert(100);
s.insert(50);
s.insert(30);
print_set(s);
s.insert(-100);
printf("%d\n",*(s.begin()));
s.insert(-200);
printf("%d\n",*(s.begin()));
s.insert(-150);
printf("%d\n",*(s.begin()));
set<int>::iterator i = s.find(-200);
if(i != s.end()) {
s.erase(i);
}
printf("%d\n",*(s.begin()));
}