Contoh Kode Sederhana Untuk Linked List
#include <stdio.h> #include <conio.h> #include <stdlib.h>
// Definisi struct untuk kasus double linked list struct node {
char data; // isi data
struct node *next; // pengait };
typedef struct node node; // memberi nama alias untuk struct node node *head, *tail; // deklarasi pointer head dan tail bertipe node
// Fungsi untuk menampilkan semua data dalam linked list void tranverse(){
node *pWalker; pWalker = head;
while (pWalker != NULL){ cout<< pWalker -> data; pWalker = pWalker -> next;
}
Cout << “NULL\n"; }
// Fungsi untuk menambahkan node dalam linked list void append_node (node *temp)
{
if(head==NULL){ head=temp; } else{
tail->next=temp; }
temp->next=NULL; tail=temp;
}
// Fungsi untuk menambahkan data dalam linked list void tambah_data(){
node *temp;
temp=(node *) malloc (sizeof (node)); // membuat alokasi memori dinamis if(temp!=NULL){
cout << “Masukkan Data:" cin >> temp->data; append_node(temp); }
// Fungsi untuk membebaskan linked list dari memori void deleteList(){
node *pTemp;
while(head != NULL){ pTemp = head; head = head->next; free(pTemp); }
}
// Fungsi utama int main() {
char pilih; do{
system("cls");
cout << “masukkan pilihan\n"; cout << “1. Tambah data\n"; cout << "2. Hapus semua data\n"; cout << "3. Cetak isi list\n"; cout << "4. Menyisipkan data\n"; cout << "5. Menghapus data\n";
cout << "MASUKKAN PILIHAN (tekan q untuk keluar) : "; fflush(stdin);
cin >> pilih; if (pilih == '1')
tambah_data();
else if (pilih == '2') deleteList(); else if (pilih == '3'){ tranverse(); getch();
}
} while (pilih != 'q');