Senin, 14 Agustus 2017

Contoh program single linked list non circular tambah list di depan


Single Linked List Non Circular

Pengertian:

Single          : artinya field pointer-nya hanya satu buah saja dan satu arah.
Linked List : artinya node-node tersebut saling terhubung satu sama lain.

Ilustrasi Linked List 


  • Setiap node pada linked list mempunyai field yang berisi pointer ke node berikutnya, dan juga memiliki field yang berisi data. 
  • Pada akhir linked list, node terakhir akan menunjuk ke NULL yang akan digunakan sebagai kondisi berhenti pada saat pembacaan isi linked list


Contoh program single linked list non circular tambah list di depan :

# include<stdio.h>
# include<stdlib.h>
# include<conio.h>
# include<iostream.h>
# include<ctype.h>
# include<string.h>
struct simpul
{
            int angka;
            struct simpul*berikut;
} ;
struct simpul *awal=NULL;
int bil;
void tambah_list_didepan(int info);
void isi_list();
void tampil_list();
void hapus_list();
void main ()
{
            clrscr();
            isi_list();
            clrscr();
            tampil_list();
            hapus_list();
            getch();
}
void tambah_list_didepan(int info)
{
            struct simpul *baru;
            baru=(struct simpul *)malloc(sizeof(struct simpul));
            baru->angka=info;
            baru->berikut=awal;

            awal=baru;
}
void isi_list()
{
            char jawab;
            do
            {
            clrscr();
            cout<<"\ninput bilangan :";
            cin>>bil;
            tambah_list_didepan(bil);
            cout<<"\ntambah data Y/T :"  ;
            cin>>jawab;
            }
            while (toupper(jawab)!='T');
}
void tampil_list()
{
            struct simpul* baca;
            int i;
            baca=awal;
            i=1;
            while(baca!=NULL)
            {
                        cout<<"\nbilangan ke-"<<i<<"yang dibaca :"<<baca->angka;
                        i++;
                        baca=baca->berikut;
            }
}
void hapus_list()
{
            struct simpul*hapus;
            hapus=awal;
            while(hapus!=NULL)
            {
                        awal=hapus->berikut;
                        free(hapus);
                        hapus=awal;
            }
}


EmoticonEmoticon