-->

Program Antrian Sederhana - Queue C/C++



Studi Kasus Praktikum 9.2 (Struktur Data - Modul 9)



#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

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

/*Mendefinisi fungsi untuk menambah elemen ke dalam queue serta menempatkan pada bagian 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 running




Keterangan


Berlangganan update artikel terbaru via email:

0 Response to "Program Antrian Sederhana - Queue C/C++"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel