From 3ff1ce26c32b05989622305e308b4873184a4063 Mon Sep 17 00:00:00 2001 From: Muh Yusuf Date: Tue, 9 Sep 2025 08:28:01 +0700 Subject: [PATCH 1/2] feat: menambahkan method swap stack linked list --- src/m | Bin 17000 -> 0 bytes src/stack_linked_list.cpp | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+) delete mode 100755 src/m diff --git a/src/m b/src/m deleted file mode 100755 index a15521663ee86e9dbde6f108fe000a9d43b09ace..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17000 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 diff --git a/src/stack_linked_list.cpp b/src/stack_linked_list.cpp index f0c5151..f2a1ae8 100644 --- a/src/stack_linked_list.cpp +++ b/src/stack_linked_list.cpp @@ -68,6 +68,15 @@ class Stack{ ~Stack()noexcept{ clear(); } + void swap(Stack& others){ + //swap head + Node* tempHead = head; + head = others.head; + //swap size + int tempSize = size; + size = others.size; + others.size = tempSize; + } public://abstraksi getter int is_size()const noexcept{ return this->size; @@ -162,6 +171,16 @@ int main(){ stack3 = stack1; std::cout << "copy assignment" << std::endl; stack3.print_detail(); + Stack stack4; + stack4.push(10); + stack4.push(20); + stack4.push(30); + stack4.push(40); + std::cout << "sebelum swap" << std::endl; + stack4.print_detail(); + stack4.swap(stack1); + std::cout << "sesudah swap" << std::endl; + stack4.print_detail(); std::cin.get(); return 0; } \ No newline at end of file From a0302b72160dc474678551cd6253befa0dbd03cb Mon Sep 17 00:00:00 2001 From: Muh Yusuf Date: Thu, 11 Sep 2025 07:38:50 +0700 Subject: [PATCH 2/2] feat: menambahkan materi iterator --- case_study/advanced/m | Bin 46576 -> 0 bytes iterator/introduce_iterator.cpp | 47 ++++++++++++++++++++++++++++++++ src/stack_linked_list.cpp | 1 + 3 files changed, 48 insertions(+) delete mode 100755 case_study/advanced/m create mode 100644 iterator/introduce_iterator.cpp diff --git a/case_study/advanced/m b/case_study/advanced/m deleted file mode 100755 index 4ff131167b9e027e8d12d9ff7cb81a015d522ebe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46576 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 diff --git a/iterator/introduce_iterator.cpp b/iterator/introduce_iterator.cpp new file mode 100644 index 0000000..fb804dc --- /dev/null +++ b/iterator/introduce_iterator.cpp @@ -0,0 +1,47 @@ +#include +#include +#include +/** + * @brief ITERATOR + * iterator adalah pointer pintar yang mununjuk element dalam suatu container + * iterator begin selalu mununjuk element pertama + * iterator end selalu mununjuk element terakhir + */ + +void _iterator(){ + /* + iterator vector di sebut bidirectional iterator karena dapat bergerak maju dan mundur + */ + std::vectorv = {1,2,3,4,5}; + std::vector::iterator it; //deklarasi iterator + //akan mencetak element pada array v + for(it = v.begin();it != v.end();++it){ + std::cout << *it << " "; + } + std::cout << std::endl; + //akan mencetak alamat memory + for(it = v.begin();it != v.end();it += 2){ + std::cout << &it << " "; + } + /* + it selalu menunjuk alamat memory dari vector v + *it arti nya melakukan deferencing terhadap alamat memory tersebut + */ + std::listl= {1,2,3,4,5,6,7}; + std::list::iterator lst; + std::cout << std::endl; + /** + * list hanya dapat bergerak satu arah karena memakai linked list + * linked list menyimpan data secara tidak beraturan,semua data tersebar di heap + * tp masing node punya alamat ke node berikut nya. + * berbeda dengan array yg berurutan di heap atau di stack + */ + for(lst = l.begin();lst != l.end();lst++){ + std::cout << *lst << " "; + } +} +int main(){ + _iterator(); + //std::cin.get(); + return 0; +} \ No newline at end of file diff --git a/src/stack_linked_list.cpp b/src/stack_linked_list.cpp index f2a1ae8..ca99012 100644 --- a/src/stack_linked_list.cpp +++ b/src/stack_linked_list.cpp @@ -10,6 +10,7 @@ * * @version 2.0 */ + #include #include template