Tuesday, June 13, 2017

Latihan 10.1 Modul 10

Latihan 10.1
Syntaxnya :

#include <stdio.h> // lan-balon.blogspot.co.id
#include <stdlib.h>
#include <malloc.h>

struct node  /*Mendefiiskan struktur yang akan dirangkai sebai queue*/
{
 int data;
 struct node *p;
};

/*Mendefinisikan fungsi untuk menambah elemen ke dalam queue serta menempatkan pada akhir queue*/
void TambahElemen (struct node **d, struct node **b, int nilai)
{ /*Membuat struktur node baru*/
 struct node *temp;
 temp = (struct node*) malloc (sizeof(struct node));
 /*Mendefinisikan field yang terdapat pada struktur node yang baru dialokasikan*/
 temp -> data = nilai;
 temp -> p = NULL;
 if (*d == NULL)
 {
  *d = temp;
 } 
 else
  {
 (*b) -> p = temp;
  }
  *b = temp;
}

void HapusElemen (struct node **d, struct node **b)
{
 struct node *temp;
 if (*d == NULL)
 {
  printf ("Tidak terdapat elemen dalam queue");
 }
 else
  {
   temp = *d;
   *d = temp -> p;
 free (temp);
   if (*d == NULL)
   {
    *b = NULL;
 }
  }
}

void TampilkanNilai (struct node *d)
{
 int nilai;
 while (d != NULL)
 {
  nilai = d -> data;
  printf ("%d\n", nilai);
  d = d -> p;
 }
}

int main (void)
{
 struct node *depan, *belakang;
 depan = belakang = NULL;
 TambahElemen (&depan, &belakang, 10);
 TambahElemen (&depan, &belakang, 20);
 TambahElemen (&depan, &belakang, 30);
 TambahElemen (&depan, &belakang, 40);
 TampilkanNilai (depan);
 HapusElemen (&depan, &belakang);
 printf ("Nilai - nilai didalam queue");
 printf ("Setelah penghapusan elemen pertama : \n");
 TampilkanNilai (depan);
 return 0;
}
    Hasil Runningnya :




    Share this

    0 Comment to "Latihan 10.1 Modul 10"

    Post a Comment