Contoh program Single Linked List c++ dan Penjelasannya


Pultiopok.comLinked List adalah struktur berupa rangkaian elemen saling berkaitan dimana tiap elemen dihubungkan ke elemen yang lain melalui pointer. Pointer adalah alamat elemen. penggunaan pointer untuk mengacu elemen berakibat elemen-elemen bersebelahan secara logik walaupun tidak bersebelahan secara fisik di memori.

Penyimpanan dan pengolahan data dari sekelompok data yang telah terorganisir dalam sebuah urutan tertentu dapat dilakukan dengan menggunakan Array seperti yang telah dibahas pada bab sebelumnya. Cara Lain untuk menyimpan dan mengolah sekumpulan data seperti di atas juga dapat dilakukan dengan tipe pointer.

Baca juga: Contoh Program Insertion Sort Dev C++

Penggunaan pointer sangat medukung dalam pembentukan struktur data dinamis. salah satunya Struktur data dinamis adalah Linked List. Berarti Linked List merupakan kumpulan komponen yang saling berkaitan satu dengan yang lain melalui pointer. Masing – Masing Komponen sering dsebut dengan simpul atau Node atau Verteks. Setiap simpul dasarnya dibagi atas dua bagian.Bagian pertama disebut bagian isi atau informasi atau data yaitu bagian yang berisi nilai yang disimpan oleh simpul. Bagian Kedua disebut bagian pointer yaitu berisi alamat dari simpul berikutnya dan atau sebelumnya.

Read :  program menghitung nilai akhir mahasiswa menggunakan c++

Linked List ada 2 bagian yang paling penting yaitu Single List dan Doubly list. Baik singly list maupun doubly List dapat juga disajkan secara melngkar (circular).

Singly Linked List

Merupakan yang paling sederhana. Setiap simpul dibagi menjadi dua bagian yaitu bagian pointer. bagian isi merupakan bagian yang berisi data yang disimpan oleh simpul, sedangkan sebagian pointer merupakan bagian yang berisi dari simpul berikutnya.

Contoh Program Singly Linked List Sederhana C++

#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;

typedef struct node *simpul;
struct node
{
char isi;
simpul next;
};
//======================
//==Prototype Function==
//======================

void Sisip_Depan(simpul &L, char elemen);
void Sisip_Belakang(simpul &L, char elemen);
void Sisip_Tengah1(simpul &L, char elemen1, char elemen2);
void Sisip_Tengah2(simpul &L, char elemen1, char elemen2);
void Hapus_Depan(simpul &L);
void Hapus_Belakang(simpul &L);
void Hapus_Tengah(simpul &L, char elemen);
void Cetak(simpul L);

Read :  Membuat Program menghitung Rumus Volume Bola dengan jari jari di Java

//===================
//==function Main==
//===================
main()
{
char huruf, huruf2;
simpul L = NULL;   //Pastikan bahwa L kosong
cout<<“==OPERASI PADA SINGLE LINKED LIST==”<<endl<<endl;
//================
//==Sisip Depan==
//================
cout<<“Penyisipan Simpul Di Depan”<<endl<<endl;
cout<<“Masukkan Huruf :”; cin>>huruf;
Sisip_Depan(L, huruf);
cout<<“Masukkan Huruf :”; cin>>huruf;
Sisip_Depan(L, huruf);
cout<<“Masukkan Huruf :”; cin>>huruf;
Sisip_Depan(L, huruf);
cout<<“Masukkan Huruf :”; cin>>huruf;
Sisip_Depan(L, huruf);
Cetak(L);
//==================
//==Sisip Belakang==
//==================
cout<<“nnPenyisipan Simpul Di Belakang “<<endl<<endl;
cout<<“Masukkan Huruf :”; cin>>huruf;
Sisip_Belakang(L, huruf);
cout<<“Masukkan Huruf :”; cin>>huruf;
Sisip_Belakang(L, huruf);
cout<<“Masukkan Huruf :”; cin>>huruf;
Sisip_Belakang(L, huruf);
cout<<“Masukkan Huruf :”; cin>>huruf;
Sisip_Belakang(L, huruf);
Cetak(L);
//==========================================
//==Sisip Simpul Setelah Simpul Tertentu====
//==========================================
cout<<endl<<endl<<“Masukkan Huruf          :”; cin>>huruf;
cout<<“Disisip Setelah Huruf :”;  cin>>huruf2;
cout<<huruf<<” Disisip Setelah “<<huruf2<<endl;
Sisip_Tengah1(L, huruf, huruf2);
Cetak (L);
//==========================================
//==Sisip Simpul Sebelum Simpul Tertentu====
//==========================================
cout<<endl<<endl<<“Masukkan Huruf          :”; cin>>huruf;
cout<<“Disisip Sebelum Huruf :”;  cin>>huruf2;
cout<<huruf<<” Disisip Sebelum “<<huruf2<<endl;
Sisip_Tengah2(L, huruf, huruf2);
Cetak (L);
//======================
//==Hapus Simpul Depan==
//======================
cout<<endl<<endl<<“Setelah Hapus Simpul Depan “<<endl;
Hapus_Depan(L);
Cetak(L);
//=========================
//==Hapus Simpul Belakang==
//=========================
cout<<endl<<endl<<“Setelah Hapus Simpul Belakang “<<endl;
Hapus_Belakang(L);
Cetak(L);
//========================
//==Hapus Simpul Tengah===
//========================
cout<<“nnMasukkan Huruf Tengah yang Akan Dihapus  : “;
cin>>huruf;
Hapus_Tengah(L,huruf);
Cetak(L);
getch();
}

Leave a Reply

Your email address will not be published. Required fields are marked *