Program C++ Double Link List
Berikut adalah source code Program penggunaan Double Link List:
#include <iostream>
#include <conio.h>
#include <stdio.h>
//double linked list
using namespace std;
struct node{
char nama[20];
int umur;
float tinggi;
node *prev,*next;
};
node *baru,*head=NULL,*tail=NULL,*bantu,*bantu2,*hapus;
void buat_baru(){
baru=new(node);
cout<<"Input Nama : ";cin>>baru->nama;
cout<<"Input Umur : ";cin>>baru->umur;
cout<<"Input Tinggi : ";cin>>baru->tinggi;
baru->prev=NULL;
baru->next=NULL;
}
void tampil(){
if(head==NULL){
cout<<"Kosong";
}else{
bantu=head;
while(bantu!=NULL){
cout<<"Nama : "<<bantu->nama;
cout<<" Umur : "<<bantu->umur;
cout<<" Tinggi : "<<bantu->tinggi<<endl;
bantu=bantu->next;
}
}
getch();
}
void tambah_belakang(){
buat_baru();
if(head==NULL){
head=baru;
tail=baru;
}
else{
tail->next=baru;
baru->prev=tail;
tail=baru;
}
cout<<endl<<endl;
tampil();
}
void tambah_depan(){
buat_baru();
if(head==NULL){
head=baru;
tail=baru;
}else{
baru->next=head;
head->prev=baru;
head=baru;
}
cout<<endl<<endl;
tampil();
}
void hapus_depan(){
if(head==NULL){
cout<<"Kosong";
}else if(head->next==NULL){
hapus=head;
head=NULL;
tail=NULL;
delete hapus;
}else{
hapus=head;
head=hapus->next;
head->prev=NULL;
delete hapus;
}
cout<<endl<<endl;
tampil();
}
void hapus_belakang(){
if(head==NULL){
cout<<"Kosong";
}else if(head->next==NULL){
hapus=head;
head=NULL;
tail=NULL;
delete hapus;
}else{
hapus=tail;
tail=hapus->prev;
tail->next=NULL;
delete hapus;
}
cout<<endl<<endl;
tampil();
}
void hapus_tengah(){
int sisip;
cout<<"Masukan Posisi Sisip Anda : ";cin>>sisip;
if(sisip==1){
cout<<"silahkan ke menu hapus depan";
getch();
return;
}
bantu=head;
if (bantu==NULL){
cout<<"Kosong";
getch();
return;
}
for(int i=1;i<sisip-1;i++){
bantu=bantu->next;
if (bantu==NULL){
cout<<"Kosong";
getch();
return;
}
}
if (bantu->next==tail){
cout<<"silahkan ke menu hapus belakang";
getch();
return;
}
if (bantu->next==NULL){
cout<<"Kosong";
getch();
return;
}
hapus=bantu->next;
bantu2=hapus->next;
bantu->next=hapus->next;
bantu2->prev=bantu;
delete hapus;
cout<<endl<<endl;
tampil();
}
void tambah_tengah(){
int sisip;
cout<<"Masukan Posisi Sisip Anda : ";cin>>sisip;
if(sisip==1){
cout<<"silahkan ke menu tambah depan";
getch();
return;
}
bantu=head;
if (bantu==NULL){
cout<<"Kosong";
getch();
return;
}
for (int i=1;i<sisip-1;i++){
bantu=bantu->next;
if (bantu==NULL){
cout<<"Kosong";
getch();
return;
}
}
if (bantu==tail){
cout<<"silahkan ke menu tambah belakang";
getch();
return;
}
if (bantu->next==NULL){
cout<<"Kosong";
getch();
return;
}
buat_baru();
bantu2=bantu->next;
bantu->next=baru;
baru->prev=bantu;
baru->next=bantu2;
bantu2->prev=baru;
cout<<endl<<endl;
tampil();
}
void pilih(int pil){
if(pil==1){
tambah_depan();
}
else if(pil==2){
tambah_belakang();
}else if(pil==3){
hapus_depan();
}else if(pil==4){
hapus_belakang();
}else if(pil==5){
tambah_tengah();
}else if(pil==6){
hapus_tengah();
}else if(pil==7){
tampil();
}else{
cout<<"Selesai";
}
}
int main(){
int pil;
do{
system("cls");
cout<<"MENU DOUBLE LINKEDLIST"<<endl;
cout<<"1.Tambah Depan"<<endl;
cout<<"2.Tambah Belakang"<<endl;
cout<<"3.Hapus Depan"<<endl;
cout<<"4.Hapus Belakang"<<endl;
cout<<"5.Tambah Tengah"<<endl;
cout<<"6.Hapus Tengah"<<endl;
cout<<"7.Tampilkan"<<endl;
cout<<"8.Selesai"<<endl;
cout<<"Pilihan Anda : ";
cin>>pil;
pilih(pil);
}while(pil!=8);
}
Tonton video Tutorialnya di:
https://youtu.be/Pz01vzHSb7Q
#include <iostream>
#include <conio.h>
#include <stdio.h>
//double linked list
using namespace std;
struct node{
char nama[20];
int umur;
float tinggi;
node *prev,*next;
};
node *baru,*head=NULL,*tail=NULL,*bantu,*bantu2,*hapus;
void buat_baru(){
baru=new(node);
cout<<"Input Nama : ";cin>>baru->nama;
cout<<"Input Umur : ";cin>>baru->umur;
cout<<"Input Tinggi : ";cin>>baru->tinggi;
baru->prev=NULL;
baru->next=NULL;
}
void tampil(){
if(head==NULL){
cout<<"Kosong";
}else{
bantu=head;
while(bantu!=NULL){
cout<<"Nama : "<<bantu->nama;
cout<<" Umur : "<<bantu->umur;
cout<<" Tinggi : "<<bantu->tinggi<<endl;
bantu=bantu->next;
}
}
getch();
}
void tambah_belakang(){
buat_baru();
if(head==NULL){
head=baru;
tail=baru;
}
else{
tail->next=baru;
baru->prev=tail;
tail=baru;
}
cout<<endl<<endl;
tampil();
}
void tambah_depan(){
buat_baru();
if(head==NULL){
head=baru;
tail=baru;
}else{
baru->next=head;
head->prev=baru;
head=baru;
}
cout<<endl<<endl;
tampil();
}
void hapus_depan(){
if(head==NULL){
cout<<"Kosong";
}else if(head->next==NULL){
hapus=head;
head=NULL;
tail=NULL;
delete hapus;
}else{
hapus=head;
head=hapus->next;
head->prev=NULL;
delete hapus;
}
cout<<endl<<endl;
tampil();
}
void hapus_belakang(){
if(head==NULL){
cout<<"Kosong";
}else if(head->next==NULL){
hapus=head;
head=NULL;
tail=NULL;
delete hapus;
}else{
hapus=tail;
tail=hapus->prev;
tail->next=NULL;
delete hapus;
}
cout<<endl<<endl;
tampil();
}
void hapus_tengah(){
int sisip;
cout<<"Masukan Posisi Sisip Anda : ";cin>>sisip;
if(sisip==1){
cout<<"silahkan ke menu hapus depan";
getch();
return;
}
bantu=head;
if (bantu==NULL){
cout<<"Kosong";
getch();
return;
}
for(int i=1;i<sisip-1;i++){
bantu=bantu->next;
if (bantu==NULL){
cout<<"Kosong";
getch();
return;
}
}
if (bantu->next==tail){
cout<<"silahkan ke menu hapus belakang";
getch();
return;
}
if (bantu->next==NULL){
cout<<"Kosong";
getch();
return;
}
hapus=bantu->next;
bantu2=hapus->next;
bantu->next=hapus->next;
bantu2->prev=bantu;
delete hapus;
cout<<endl<<endl;
tampil();
}
void tambah_tengah(){
int sisip;
cout<<"Masukan Posisi Sisip Anda : ";cin>>sisip;
if(sisip==1){
cout<<"silahkan ke menu tambah depan";
getch();
return;
}
bantu=head;
if (bantu==NULL){
cout<<"Kosong";
getch();
return;
}
for (int i=1;i<sisip-1;i++){
bantu=bantu->next;
if (bantu==NULL){
cout<<"Kosong";
getch();
return;
}
}
if (bantu==tail){
cout<<"silahkan ke menu tambah belakang";
getch();
return;
}
if (bantu->next==NULL){
cout<<"Kosong";
getch();
return;
}
buat_baru();
bantu2=bantu->next;
bantu->next=baru;
baru->prev=bantu;
baru->next=bantu2;
bantu2->prev=baru;
cout<<endl<<endl;
tampil();
}
void pilih(int pil){
if(pil==1){
tambah_depan();
}
else if(pil==2){
tambah_belakang();
}else if(pil==3){
hapus_depan();
}else if(pil==4){
hapus_belakang();
}else if(pil==5){
tambah_tengah();
}else if(pil==6){
hapus_tengah();
}else if(pil==7){
tampil();
}else{
cout<<"Selesai";
}
}
int main(){
int pil;
do{
system("cls");
cout<<"MENU DOUBLE LINKEDLIST"<<endl;
cout<<"1.Tambah Depan"<<endl;
cout<<"2.Tambah Belakang"<<endl;
cout<<"3.Hapus Depan"<<endl;
cout<<"4.Hapus Belakang"<<endl;
cout<<"5.Tambah Tengah"<<endl;
cout<<"6.Hapus Tengah"<<endl;
cout<<"7.Tampilkan"<<endl;
cout<<"8.Selesai"<<endl;
cout<<"Pilihan Anda : ";
cin>>pil;
pilih(pil);
}while(pil!=8);
}
Tonton video Tutorialnya di:
https://youtu.be/Pz01vzHSb7Q
Komentar
Posting Komentar