#include "iostream"
#include<conio.h>
using namespace std;
//deklarasi senarai linier non sircular
struct senarai
{
int isi; //variabel isi simpul
senarai *link; //variabel alamat simpul
};
senarai *awal; //variabel senarai
//deklarasi GLOBAL tipedata variabel di luar prosedur/void/fungsi
void inisialisasi()
//membuat variabel awal tidak mempunyai isi dan alamat
{
awal = NULL;
}
int isEmpty() //mengetahui simpul kosong atau tidak kosong
{
if(awal == NULL) //jika senarai belum ada isi sama sekali
return 1;
else //jika senarai sudah ada isi
return 0;
}
void insertBelakang(int databaru) //prosedur memasukkan isi setiap
{ //simpul senarai
senarai *baru,*bantu; //variabel temporer dibuat
baru = new senarai; //membuat simpul variabel temporer
baru->isi = databaru;
baru->link = NULL;
if(isEmpty()==1) //jika senarai tidak ada data sama sekali
{
awal=baru;
awal->link = NULL;
}
else //jika senarai sudah ada data
{
bantu=awal;
while(bantu->link!=NULL)
{
bantu = bantu->link;
}
bantu->link = baru;
}
cout<<"Data telah masuk ke senarai \n";
}
void tampil()
{
senarai *bantu; //variabel temporer
bantu = awal;
if(isEmpty()==0)//jika senarai ada isi
{
while(bantu != NULL)
{
cout<<bantu->isi<<" ";
bantu=bantu->link;
} //endwhile
cout<<endl;
}//endif
else //jika senarai tidak ada isinya
cout<<"Senarai kosong\n";
}//end prosedur tampil
void hapusDepan ()
{
senarai *hapus;//variabel temporer
int d;
if (isEmpty()==0)
{
if(awal->link != NULL)//jika tidak kosong
{
hapus = awal; d = hapus->isi;
awal = awal->link; delete hapus;
}
else //jika telah kosong
{
d = awal->isi; awal = NULL;
}
cout<<"dan telah terhapus\n";
}
else cout<<"Masih kosong\n";
}
main()
{ int databaru,ulang;
short int Pil;
awal = new senarai; //membuat simpul senarai
cout<<endl<<"============================";
cout<<endl<<"membuat senarai linier";
cout<<endl<<"1. INPUT SENARAI BELAKANG";
cout<<endl<<"2. TAMPIL DATA DALAM SENARAI";
cout<<endl<<"3. HAPUS DATA DARI SENARAI";
cout<<endl<<"4. EXIT";
cout<<endl<<"============================";
inisialisasi();//panggil prossedur inisialisasi
ulang=0;
while (ulang!=1)
{
cout<<"\nmasukkan pilihan anda ?";cin>>Pil;
switch (Pil)
{
case 1 : cout<<"masukkan sebarang angka:";
cin>>databaru;
insertBelakang(databaru); break;
case 2 : cout<<endl<<"menampilkan senarai ";
tampil(); break;
case 3 : cout<<endl<<"Senarai sedang menghapus... ";
hapusDepan(); break;
case 4 : ulang=1; break;
}//end switch
}//endwhile
getch();
}
Berikut SS nya :