#include <conio.h>
#include <iostream.h>
#include <stdio.h>
typedef struct simpul tsimpul;
struct simpul
{
int info;
tsimpul *next;
};
tsimpul *awal = NULL, *akhir = NULL, *data, *hapus, *b1, *b2;
//===============================================================//hapsari
void muncul()
{
b1=awal;
cout<<"\n DATA ====>";
while(b1!=NULL)
{
cout<<b1->info;
b1=b1->next;
cout<<" ";
}
}
//===============================================================//fitri
void tambah_data(int x)
{
data=new simpul;
data->info=x;
data->next=NULL;
if(awal==NULL)
{
awal=akhir=data;
}
else
{
data->next=awal;
awal=data;
}
}
//===============================================================//eka
void hapus_awal()
{
if(awal==NULL)
{
cout<<"Maaf....List Kosong!!!\n";
}
else if (awal==akhir)
{
hapus=awal;
awal=NULL;
akhir=NULL;
}
else
{
hapus=awal;
awal=awal->next;
}
}
//===============================================================//gina
void hapus_akhir()
{
if(awal==NULL)
{
cout<<"Maaf....List Kosong!!!\n";
}
else if(awal==akhir)
{
hapus=awal;
awal=NULL;
akhir=NULL;
}
else
{
b1=awal;
while(b1->next!=akhir)
{
b1=b1->next;
}
hapus=akhir;
b1->next=NULL;
akhir=b1;
}
}
//===============================================================//eli
void hapus_tengah(int x)
{
tsimpul *b;
int ada=0;
b=awal;
if(awal==NULL)
cout<<"Maaf....List Kosong!!!\n";
else if(b->info==x)
hapus_awal();
else if(akhir->info==x)
hapus_akhir();
else
{
while(b!=NULL)
{
if(b->info==x)
{
ada++;
}
b=b->next;
}
if(ada==0)
cout<<"\n-->Data Yang Di Masukkan Tidak Falid<--\n\n";
else
{
b=awal;
while(b->next->info!=x)
{
b=b->next;
}
b1=b->next;
b2=b1->next;
hapus=b1;
b->next=b2;
}
}
}
//===============================================================//wida
void main()
{
int pilih,n,nn;
char lagi;
do
{
clrscr();
cout<<"================================================\n";
cout<<"|| PROGRAM SINGLE LINKED LIST ||\n";
cout<<"================================================\n";
muncul();
cout<<"\n\n1. Tambah Data";
cout<<"\n2. Hapus Awal";
cout<<"\n3. Hapus Akhir";
cout<<"\n4. Hapus Tengah\n==========================";
cout<<"\nPilihan Anda : ";cin>>pilih;
cout<<"==========================\n";
switch(pilih)
{
case 1:
cout<<"Masukkan Data : ";cin>>n;
tambah_data(n);
break;
case 2:
hapus_awal();
break;
case 3:
hapus_akhir();
break;
case 4:
cout<<"data yg ingin di hapus : ";cin>>nn;
hapus_tengah(nn);
break;
}
cout<<"Lagi (y/t)? ";cin>>lagi;
}
while(lagi=='y'||lagi=='Y');
}
//===============================================================//asri
#include <iostream.h>
#include <stdio.h>
typedef struct simpul tsimpul;
struct simpul
{
int info;
tsimpul *next;
};
tsimpul *awal = NULL, *akhir = NULL, *data, *hapus, *b1, *b2;
//===============================================================//hapsari
void muncul()
{
b1=awal;
cout<<"\n DATA ====>";
while(b1!=NULL)
{
cout<<b1->info;
b1=b1->next;
cout<<" ";
}
}
//===============================================================//fitri
void tambah_data(int x)
{
data=new simpul;
data->info=x;
data->next=NULL;
if(awal==NULL)
{
awal=akhir=data;
}
else
{
data->next=awal;
awal=data;
}
}
//===============================================================//eka
void hapus_awal()
{
if(awal==NULL)
{
cout<<"Maaf....List Kosong!!!\n";
}
else if (awal==akhir)
{
hapus=awal;
awal=NULL;
akhir=NULL;
}
else
{
hapus=awal;
awal=awal->next;
}
}
//===============================================================//gina
void hapus_akhir()
{
if(awal==NULL)
{
cout<<"Maaf....List Kosong!!!\n";
}
else if(awal==akhir)
{
hapus=awal;
awal=NULL;
akhir=NULL;
}
else
{
b1=awal;
while(b1->next!=akhir)
{
b1=b1->next;
}
hapus=akhir;
b1->next=NULL;
akhir=b1;
}
}
//===============================================================//eli
void hapus_tengah(int x)
{
tsimpul *b;
int ada=0;
b=awal;
if(awal==NULL)
cout<<"Maaf....List Kosong!!!\n";
else if(b->info==x)
hapus_awal();
else if(akhir->info==x)
hapus_akhir();
else
{
while(b!=NULL)
{
if(b->info==x)
{
ada++;
}
b=b->next;
}
if(ada==0)
cout<<"\n-->Data Yang Di Masukkan Tidak Falid<--\n\n";
else
{
b=awal;
while(b->next->info!=x)
{
b=b->next;
}
b1=b->next;
b2=b1->next;
hapus=b1;
b->next=b2;
}
}
}
//===============================================================//wida
void main()
{
int pilih,n,nn;
char lagi;
do
{
clrscr();
cout<<"================================================\n";
cout<<"|| PROGRAM SINGLE LINKED LIST ||\n";
cout<<"================================================\n";
muncul();
cout<<"\n\n1. Tambah Data";
cout<<"\n2. Hapus Awal";
cout<<"\n3. Hapus Akhir";
cout<<"\n4. Hapus Tengah\n==========================";
cout<<"\nPilihan Anda : ";cin>>pilih;
cout<<"==========================\n";
switch(pilih)
{
case 1:
cout<<"Masukkan Data : ";cin>>n;
tambah_data(n);
break;
case 2:
hapus_awal();
break;
case 3:
hapus_akhir();
break;
case 4:
cout<<"data yg ingin di hapus : ";cin>>nn;
hapus_tengah(nn);
break;
}
cout<<"Lagi (y/t)? ";cin>>lagi;
}
while(lagi=='y'||lagi=='Y');
}
//===============================================================//asri