-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path11-linked-list-single.cpp
More file actions
65 lines (51 loc) · 1.83 KB
/
11-linked-list-single.cpp
File metadata and controls
65 lines (51 loc) · 1.83 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
/*
## Linked list di C++ adalah salah satu struktur data yang digunakan untuk menyimpan elemen secara berurutan.
Berbeda dengan array, elemen dalam linked list tidak disimpan dalam lokasi memori yang berurutan.
Sebaliknya, setiap elemen (disebut node) memiliki dua komponen utama:
1. Data: Menyimpan nilai atau data.
2. Pointer: Menunjuk ke node berikutnya dalam daftar.
## Jenis Linked List
1. Singly Linked List: Setiap node hanya memiliki satu pointer ke node berikutnya.
2. Doubly Linked List: Setiap node memiliki pointer ke node berikutnya dan sebelumnya.
3. Circular Linked List: Node terakhir menunjuk kembali ke node pertama, membentuk lingkaran.
## Keuntungan Linked List
1. Ukurannya dinamis (dapat bertambah atau berkurang sesuai kebutuhan).
2. Operasi penyisipan dan penghapusan elemen lebih efisien dibandingkan array, khususnya jika elemen sering dimodifikasi.
## Kelemahan Linked List
1. Akses elemen lebih lambat karena harus melewati node satu per satu.
2. Memerlukan memori tambahan untuk menyimpan pointer.
*/
#include <iostream>
using namespace std;
// Struktur Node
struct Node {
int data;
Node* next;
};
// Fungsi untuk menambahkan node di awal
void insertAtHead(Node*& head, int data) {
Node* newNode = new Node();
newNode->data = data;
newNode->next = head;
head = newNode;
}
// Fungsi untuk menampilkan linked list
void display(Node* head) {
Node* temp = head;
while (temp != nullptr) {
cout << temp->data << " -> ";
temp = temp->next;
}
cout << "NULL" << endl;
}
int main() {
Node* head = nullptr; // Inisialisasi head of the list
// Menambahkan elemen ke linked list
insertAtHead(head, 10);
insertAtHead(head, 20);
insertAtHead(head, 30);
// menampilkan list
cout << "Linked List: ";
display(head);
return 0;
}