Laman

Kamis, 02 Mei 2013

Contoh Program Linked List Pada C++


 
#include<stdio.h>//deklarasi file header c
#include<stdlib.h>
#include<malloc.h>
#include<conio.h>// deklarasi file header untuk tampilan pada c++

typedef struct nod
//definisi type adalah struct nod
{
            int data;
            struct nod *next;
            //deklarasi variable bertipe integer dan struct
}
NOD, *NODPTR;

void CreateSenarai (NODPTR *s)
//deklarasi untuk membuat Seranai kosong yang baru
{
    *s = NULL;
            //mendeklarasikan bahwa Seranai baru masih kosong
}
NODPTR NodBaru(int m)
//membuat Nod baru bertipe integer dengan variabel m.
{
            NODPTR n;
            n= (NODPTR) malloc(sizeof(NOD));
            if (n !=NULL)
            /*kondisi jika n tidak sama dengan NULL
            maka program akan menjalankan pernyataan pada kurung kurawal dibawah ini*/
            {
                        n-> data = m;
                        n-> next = NULL;
            }
            return n;
            //mendeklarasikan program untuk kembali ke n.
}
void InsertSenarai (NODPTR *s, NODPTR t, NODPTR p)
//deklarasi untuk menyisipkan data kedalam seranai
{
            if (p==NULL)
            /*kondisi jika p sama dengan NULL
            maka pernyataan dalam kurung kurawal diawah ini akan dijalankan,
            jika lainnya maka pernyataan dalam kurung kurawal dibawah else
            yang akan dijalankan.*/
            {
                        t -> next = *s;
                        *s = t;
            }
            else
            {
                        t -> next = p -> next;
                        p -> next = t;
    }
}

void DisplaySenarai(NODPTR s)
//deklarasi untuk menampilkan Seranai
{
            NODPTR ps;
            for (ps = s; ps != NULL; ps = ps -> next)
            printf("%d  --> ",ps -> data);
            printf("NULL\n");
            getch();
            /*deklarasi untuk ps=s; ps!=NULL; ps=ps-> next
            kemudian program akan menampilkan nilai ps data diikuti NULL pada akhir data*/
}



int main()
{
            clrscr();
            //deklarasi menghapus layar
    NODPTR pel;
    NODPTR n;
    int i,k, nilai;
            //deklarasi variabel bertipe integer

    CreateSenarai(&pel);
            printf("=================================\n");
            printf("====== Program Linked List ======\n");
            printf("=================================\n");
    printf(" Masukan banyak data Seranai : ");
    scanf ("%d", &k);
            //deklarasi untuk menginput data seranai
            printf("\n=================================\n\n");
    for(i=1;i<=k;i++)
            //deklarasi untuk i=1; i lebih kecil sama dengan k; kemudian i melakukan penambahan 1
    {
                        printf ("Masukan data senarai ke- %d : ",i);
                        scanf ("%d", &nilai);
                        //deklarasi untuk menginput data seranai
                        n = NodBaru (nilai);
                        InsertSenarai (&pel, n, NULL);
                        //deklarasi untuk menyisipkan sebuah seranai
    }
            printf("=================================\n");
            DisplaySenarai (pel);
                        //deklarasi untuk mencetak seranai yang telah dibuat tadi
            return 0;
            //deklarasi untuk kembali pada fungsi 0.
}

Tidak ada komentar:

Posting Komentar