Kali ini mimin ingin share Contoh Program single linked list dengan C++ . sintax kali ini masih sangat sederhana sebab ini request yang sangat mepet dari temen ane yg minta dibuatin program linked list C++ buat tugas Struktur Data BSI semester 2. selengkapnya silahkan dilihat codinngya, jika ada pertanyaan silahkan komen dikolom komentar :D
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
struct TNode{
int data;
TNode *next;
};
TNode *head, *tail;
void init(){
head = NULL;
tail = NULL;
}
int isEmpty(){
if(tail == NULL) return 1;
else return 0;
}
void insertDepan(int databaru){
TNode *baru;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
if(isEmpty()==1){
head=tail=baru;
tail->next=NULL;
}
else {
baru->next = head;
head = baru;
}
cout<<"Data masuk\n";
}
void insertBelakang(int databaru){
TNode *baru,*bantu;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
if(isEmpty()==1){
head=baru;
tail=baru;
tail->next = NULL;
}
else {
tail->next = baru;
tail=baru;
}
cout<<"Data masuk\n";
}
void tampil(){
TNode *bantu;
bantu = head;
if(isEmpty()==0){
while(bantu!=NULL){
cout<<bantu->data<<" ";
bantu=bantu->next;
}
} else cout<<"Masih kosong\n";
}
void hapusDepan(){
TNode *hapus;
int d;
if (isEmpty()==0){
if(head!=tail){
hapus = head;
d = hapus->data;
head = head->next;
delete hapus;
} else {
d = tail->data;
head=tail=NULL;
}
cout<<d<<"terhapus";
} else cout<<"Masih kosong\n";
}
void hapusBelakang(){
TNode *bantu,*hapus;
int d;
if (isEmpty()==0){
bantu = head;
if(head!=tail){
while(bantu->next!=tail){
bantu = bantu->next;
}
hapus = tail;
tail=bantu;
d = hapus->data;
delete hapus;
tail->next = NULL;
}else {
d = tail->data;
head=tail=NULL;
}
cout<<d<<" terhapus\n";
} else cout<<"Masih kosong\n";
}
void clear()
{
TNode *bantu,*hapus;
bantu = head;
while(bantu!=NULL)
{
hapus = bantu;
bantu = bantu->next;
delete hapus;
}
head = NULL;
printf("CLEAR");
}
main()
{
int pil,databaru;
do
{
clrscr();
cout<<endl<<endl;
cout<<" ==========================="<<endl;
cout<<" = PROGRAM LINKED LIST ="<<endl;
cout<<" ==========================="<<endl;
cout<<" = 1. Insert Depan ="<<endl;
cout<<" = 2. Insert Belakang ="<<endl;
cout<<" = 3. Delete Depan ="<<endl;
cout<<" = 4. Delete Belakang ="<<endl;
cout<<" = 5. Tampil Data ="<<endl;
cout<<" = 6. Clear ="<<endl;
cout<<" = 7. Exit ="<<endl;
cout<<" ==========================="<<endl;
cout<<" Masukan Pilihan : ";cin>>pil;
switch (pil)
{
case 1: clrscr();{
cout<<"Masukkan Data = ";
cin>>databaru;
insertDepan(databaru);
break;
}
case 2: clrscr();{
cout<<"Masukkan Data = ";
cin>>databaru;
insertBelakang(databaru);
break;
}
case 3: clrscr();{
hapusDepan();
break;
}
case 4: clrscr();{
hapusBelakang();
break;
}
case 5: clrscr();{
tampil();
break;
}
case 6: clrscr();{
clear();
break;
}
case 7: {
return 0;
break;
}
default : clrscr();{
cout<<"\n Maaf, Pilihan yang anda pilih tidak tersedia!";
}
}
getch();
}
while(pil!=7);
}
sangat membantu..terimakasih
ReplyDeleteSangat membantu program saya tapi error 1 gan
ReplyDeletemin, struktur dari penggunaan next ini sendiri seperti apa?
ReplyDeleteXCODEPLUS - The Best Resource to Learn to Code
ReplyDeleteC++ & C# Tutorials and more...
http://www.xcodeplus.net
XCODEPLUS - The Best Resource to Learn to Code
ReplyDeleteC++ & C# Tutorials and more...
http://www.xcodeplus.net
panjang banget wkwkw, btw makasih gan..
ReplyDeletecara mudah dapet dollar >> http://belajarbarengz.blogspot.co.id/2017/06/cara-mudah-memperoleh-dollar-dengan.html?m=1
ReplyDeleteGan tolong dong kalo bisa, di upload untuk yang Double Linked List nya...
ReplyDeletewhile(pil!=7); itu apa artinya
ReplyDeleteKalo pilihan tidak.sama dengan 7 gan
DeleteThis comment has been removed by the author.
ReplyDeleteMasukin data awalnya gmn ya bang?
ReplyDeleteroot@danielxyz:~# 2
ReplyDeleteSLLC Data Buku ke 1
Nomor Buku : 101
Judul Buku : algoritma
Harga Buku : Rp. 666000
SLLC Data Buku ke 2
Nomor Buku : 109
Judul Buku : matematika_diskrit
Harga Buku : Rp. 79000
Tekan Enter untuk kembali ke menu!
101 C++ 5000 102 Java 1000 103 php 6000
ReplyDeletec. Edit Harga(cari buku yang akan di edit berdasarkan nomer buku, lalu harganya saja yang diedit)
ReplyDelete