Wednesday, January 23, 2013

Contoh Listing Linked List pada C++


#
#
#
#

int pil;
void pilih();
void buat_baru();
void tambah_belakang();
void tambah_depan();
void hapus_belakang();
void hapus_depan();
void tampil();

struct simpul
{
    char nim[10], nama [20];
    int umur;
    struct simpul *next;
} mhs, *baru, *awal=NULL, *akhir=NULL,*hapus,*bantu;


int main()
{
    do
    {
        clrscr();
        cout<<"MENU PILIHAN SINGLE LINKEDLIST MATIUS"<<endl;
        cout<<"1. Tambah Bagian Depan"<<endl;
        cout<<"2. Tambah Bagian Belakang"<<endl;
        cout<<"3. Hapus  Bagian Depan"<<endl;
        cout<<"4. Hapus  Bagian Belakang"<<endl;
        cout<<"5. Tampilkan"<<endl;
        cout<<"6. End"<<endl;
        cout<<"Anda Memilih : ";
        cin>>pil;
        pilih();
    } while(pil!=6);
    return 0;
}



void pilih()
{
    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)
        tampil();
    else
        cout<<"selesai";
}

void buat_baru()
{
    baru=(simpul*)malloc(sizeof(struct simpul));
    cout<<"Masukan NIM   : ";cin>>baru->nim;
    cout<<"Masukan Nama  : ";cin>>baru->nama;
    cout<<"Masukan Umur  : ";cin>>baru->umur;
    baru->next=NULL;
}

void tambah_belakang()
{
    buat_baru();
    if(awal==NULL)
    {
        awal=baru;
    }
    else
    {
        akhir->next=baru;
    }
    akhir=baru;
    akhir->next=NULL;
    cout<<endl<<endl;
    tampil();
}

void tambah_depan()
{
    buat_baru();
    if(awal==NULL)
    {
        awal=baru;
        akhir=baru;
        akhir->next=NULL;
    }
    else
    {
        baru->next=awal;
        awal=baru;
    }
    cout<<endl<<endl;
    tampil();
}

void hapus_depan()
{
    if (awal==NULL)
        cout<<"Kosong";
    else
    {
        hapus=awal;
        awal=awal->next;
        free(hapus);
    }
   cout<<endl<<endl;
    tampil();
}

void hapus_belakang()
{
    if (awal==NULL)
        cout<<"Kosong";
    else if(awal==akhir)
    {
         hapus=awal;
         awal=awal->next;
         free(hapus);
    }
    else
    {
        hapus=awal;
        while(hapus->next!=akhir)
             hapus=hapus->next;
        akhir=hapus;
        hapus=akhir->next;
        akhir->next=NULL;
        free(hapus);
    }
    cout<<endl<<endl;
    tampil();
}

void tampil()
{
     if (awal == NULL)
          cout<<" Kosong ";
     else
     {
         bantu = awal;
         while(bantu!=NULL)
         {
            cout<<"NIM  : "<<bantu->nim;
            cout<<", NAMA : "<<bantu->nama;
            cout<<", UMUR : "<<bantu->umur<<endl;
            bantu=bantu->next;
         }
     }
     getch();
}

Silakan download listingnya disini :

No comments:

Post a Comment