Skip to content

Commit a0302b7

Browse files
committed
feat: menambahkan materi iterator
1 parent 3ff1ce2 commit a0302b7

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed

case_study/advanced/m

-45.5 KB
Binary file not shown.

iterator/introduce_iterator.cpp

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#include <iostream>
2+
#include <vector>
3+
#include <list>
4+
/**
5+
* @brief ITERATOR
6+
* iterator adalah pointer pintar yang mununjuk element dalam suatu container
7+
* iterator begin selalu mununjuk element pertama
8+
* iterator end selalu mununjuk element terakhir
9+
*/
10+
11+
void _iterator(){
12+
/*
13+
iterator vector di sebut bidirectional iterator karena dapat bergerak maju dan mundur
14+
*/
15+
std::vector<int>v = {1,2,3,4,5};
16+
std::vector<int>::iterator it; //deklarasi iterator
17+
//akan mencetak element pada array v
18+
for(it = v.begin();it != v.end();++it){
19+
std::cout << *it << " ";
20+
}
21+
std::cout << std::endl;
22+
//akan mencetak alamat memory
23+
for(it = v.begin();it != v.end();it += 2){
24+
std::cout << &it << " ";
25+
}
26+
/*
27+
it selalu menunjuk alamat memory dari vector v
28+
*it arti nya melakukan deferencing terhadap alamat memory tersebut
29+
*/
30+
std::list<int>l= {1,2,3,4,5,6,7};
31+
std::list<int>::iterator lst;
32+
std::cout << std::endl;
33+
/**
34+
* list hanya dapat bergerak satu arah karena memakai linked list
35+
* linked list menyimpan data secara tidak beraturan,semua data tersebar di heap
36+
* tp masing node punya alamat ke node berikut nya.
37+
* berbeda dengan array yg berurutan di heap atau di stack
38+
*/
39+
for(lst = l.begin();lst != l.end();lst++){
40+
std::cout << *lst << " ";
41+
}
42+
}
43+
int main(){
44+
_iterator();
45+
//std::cin.get();
46+
return 0;
47+
}

src/stack_linked_list.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
*
1111
* @version 2.0
1212
*/
13+
1314
#include <iostream>
1415
#include <stdexcept>
1516
template <typename type>

0 commit comments

Comments
 (0)