Monday, 23 February 2015

Contoh Program Senarai C++

Baca Juga Artikel Menarik Lainnya :

Baca Juga Artikel Menarik Lainnya :
 Contoh Program Senarai C++

#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 :