Queues using Pointer

Praktek Mata Kuliah Data Structure

Queues on Pointer (Dynamic Memory Allocation) using DevC++

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

struct node
{
    int data;
    struct node *link;
};

node *front = NULL;
node *rear = NULL;

void insertion ()
{
     node *temp = (node*) malloc (sizeof(node));
     printf ("Insert Value = ");
     scanf ("%d",&temp->data);
     temp->link = NULL;
     if (front==NULL)
     {
        front=temp;
        rear=temp;              
     }
     else
     {
        rear->link=temp;
        rear=temp;  
     }   
}

void deletion ()
{
     if(front==NULL)
     {
        printf ("Queues is Empty");             
     }
     else
     {
        node *temp;
        printf ("Elemen to be deleted = %d",front->data);
        temp=front;
        front=front->link;
        free (temp);  
     }   
}

void display ()
{
     if (front==NULL)
     {
        printf ("Queues is Empty");
     }
     else
     {
         node *temp;
         temp=front;
         printf ("elemen of Queues = \n");
         for (temp=front;temp!=NULL;temp=temp->link)
         {
               printf ("%d\t",temp->data);
         }  
     }   
}

void selection ()
{
    int pilih;
    do
    {
    printf ("\n\nQueues Using Dynamic Memory Allocation");
    printf ("\n1. Insertion ");
    printf ("\n2. Deletion");
    printf ("\n3. Display");
    printf ("\ninsert your selection = ");
    scanf ("%d",&pilih);
    switch (pilih)
           {
           case 1:
           insertion ();
           break;
         
           case 2:
           deletion ();
           break;
         
           case 3:
           display ();
           break;     
           }
    }while (pilih!=0);  
}
int main ()
{
    selection ();
    printf ("\n");  
    getche ();
    return 0;
}

Stack Using Pointer

Praktek Mata Kuliah Data Structure

Stack on Pointer (Dynamic Memory Allocation) using DevC++

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

struct node
{
int data;
struct node *link;     
};

node *high = NULL;

void pushdynamic ()
{
     node*temp = (node*) malloc (sizeof(node));
     printf ("Input values = ");
     scanf ("%d",&temp->data);
     temp->link = high;
     high = temp;
}

void popdynamic ()
{
     if (high==NULL)
     {
        printf ("Stack is Empty");            
     }
     else
     {
         node *temp;
         temp=high;
         printf ("Values to be deleted = %d",temp->data);
         high=high->link;
         free (temp);
     }   
}
void displaydynamic ()
{
     if (high==NULL)
     {
        printf ("Stack is Empty\nCan't display the elemen");
     }
     else
     {
        node *temp;
        temp=high;
        while(temp!=NULL)
        {
          printf ("The Elemen of Stack\n");
          printf ("%d\n",temp->data);
          temp=temp->link;               
        }  
     }   
}
void selection ()
{
    int pilih;
    do
    {
    printf ("\n\nStack Using Dynamic Memory Allocation");
    printf ("\n1. Push ");
    printf ("\n2. Pop");
    printf ("\n3. Display");
    printf ("\ninsert your selection = ");
    scanf ("%d",&pilih);
    switch (pilih)
           {
           case 1:
           pushdynamic ();
           break;
         
           case 2:
           popdynamic ();
           break;
         
           case 3:
           displaydynamic ();
           break;     
           }
    }while (pilih!=0);  
}
int main ()
{
    selection ();
    printf ("\n");  
    getche ();
    return 0;
}

Circular Queues

Praktek Mata Kuliah Data Structure

Circular Queues on Array using DevC++

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define n 6

int array [n];
int front=0;
int rear=0;
int pick;

void insertion ()
{
     if((rear+1)%n==front)
     {
         printf ("Queue is Full");                    
     }
     else
     {
         rear=(rear+1)%n;
         printf ("Input value = ");
         scanf ("%d",&array[rear]);   
     }    
}

void deletion ()
{
     if (front==rear)
     {
          printf ("Queues is empty");               
     }
     else
     {
          printf ("Elemen to be deleted = %d", array[front+1]);
          front=(front+1)%n;   
     }    
}

void display ()
{
     if (front==rear)
     {
          printf ("Queues is empty");               
     }
     else
     {
         printf ("Elemen of Queues = \n");
         for (int i=front+1;i<=rear;i=(i+1)%n)
         {
          printf ("%d\n", array[i]);   
         }   
     }    
}

int main ()
{
    do
    {
    printf ("\n\nQueues Using Circular Array");
    printf ("\n1. Insert Queues");
    printf ("\n2. Deletion Queues");
    printf ("\n3. Display Queues");
    printf ("\nInsert your selection = ");
    scanf ("%d",&pick);
    switch (pick)
         {
         case 1:
              insertion ();
              break;
         case 2:
              deletion ();
              break;
         case 3:
              display ();
              break;
         }
    }while (pick!=0);  
    getche ();
    return 0;   
}

Queues Using Array

Praktek Mata Kuliah Data Structure

Queues on Array using DevC++


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define n 6

int array [n];
int front=-1;
int rear=-1;
int pick;

void insertion ()
{
     if (rear<n-1)
     {
        rear++;
        printf ("Insert value = ");
        scanf ("%d",&array[rear]);            
     }
     else
     {
         printf ("Queues is FULL");   
     }    
}

void deletion ()
{
     if (rear!=front)
     {
        front++;
        printf ("Value to be deleted = %d", array[front]);               
     }
     else
     {
        printf ("Queues is EMPTY");   
     }   
}

void show ()
{
     if (rear!=front)
     {
        for (int i=front+1;i<=rear;i++)
        {
            printf ("%d\n",array[i]);   
        }               
     }
     else
     {
         printf ("Queues is EMPTY");   
     }    
}

void adjusted ()
{
     if (front!=rear)    
     {
        printf ("values to be deleted = %d", array[front+1]);
        for(int i=0;i<rear;i++)
        {
             array[i]=array[i+1];                  
        }
        rear--;                    
     }
     else
     {
         printf ("Queues is EMPTY");   
     }
}

int main ()
{  
    do
    {
    printf ("\n\nQueues Using Array");
    printf ("\n1. Insert Queues");
    printf ("\n2. Deletion Queues");
    printf ("\n3. Display Queues");
    printf ("\n4. Deletion Adjusted Queues");
    printf ("\nInsert your selection = ");
    scanf ("%d",&pick);
    switch (pick)
         {
         case 1:
              insertion ();
              break;
         case 2:
              deletion ();
              break;
         case 3:
              show ();
              break;
         case 4:
              adjusted ();
              break;
         }
    }while (pick!=0);  
getche ();
return 0;
}

Stack Using Array

Praktek Mata Kuliah Data Structure

Stack on Array using DevC++
 
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define n 6

void push ();
void pop ();
void display ();

int array[n];
int top=-1;
int pick;

int main ()
{
    do
    {
    printf ("\n\nSelection Menu");
    printf ("\n1. Push Stack");
    printf ("\n2. Pop Stack");
    printf ("\n3. Display Stack");
    printf ("\nInsert your selection = ");
    scanf ("%d",&pick);
    switch (pick)
         {
         case 1:
              push ();
              break;
         case 2:
              pop ();
              break;
         case 3:
              display ();
              break;
         }
    }while (pick!=0);  
getche ();
return 0;
}

void push ()
{
     if (top<n-1)
     {
        top++;
        printf ("insert element to the stack = ");
        scanf ("%d",&array[top]);           
     }
     else
     {
         printf ("Stack is overflow");   
     }    
}

void pop ()
{
     if (top>-1)
     {
        top--;
        printf ("The Top Value = %d", array[top]);          
     }
     else
     {
         printf ("Stack is underflow");   
     }    
}

void display ()
{
     if (top>-1)
     {
        for (int i=top;i>=0;i--)
        {
            printf ("%d\n",array[i]);   
        }          
     }
     else
     {
         printf ("Stack is Empty");   
     }    
}

Wake Me Up When September Ends....

Mungkin judul yang sangat familiar, tetapi judul ini muncul seiring dengan pelbagai hal yang terjadi selama bulan september ini, dan anehnya, saat menoleh ke belakang dan melihat seluruh kejadian yang terjadi pada bulan september tahun ini, penuh warna... mulai dari yang sudah diprediksi, maupun yang belum diprediksi, bahkan yang tidak pernah diprediksi sebelumnya.

Mungkin terkesan pragmatis, tapi begitulah keadaan sebenarnya, terlebih lagi untuk orang seperti saya, yang segala sesuatunya harus in order (sesuai rencana), sehingga terbiasa bisa memperkirakan apa yang akan terjadi (maaf, jangan samakan saya dengan cenayang...)

Kejadian yang silih berganti muncul, mulai dari sebuah kecelakaan kecil ditoilet, yang disamarkan dalam bentuk perkelahian (hahahaha...), yah, kecelakaan bodoh yang seharusnya tidak terjadi, dari sekian kali menginjakkan kaki disitu, untuk pertama kalinya terpeleset dan jatuh yang berakhir dengan patahnya dua gigi depan, yang membuat penampilan saya semakin menarik... kemudian kecelakaan (kelalaian lebih tepat) saat tidur, dimana saya lupa melepas kacamata sehingga kacamata saya mengalami patah frame (gagang), berlanjut dengan insiden di waktu ujian, dimana kertas ujian kedua teman yang duduk di sebelah saya disobek oleh dosen, hanya karena saling meminjam penghapus....hahahha, terdengar bodoh mungkin, tapi itulah, kejadian paling menyolok yang terjadi dalam bulan september ini

Yang mungkin belum sempat diprediksi adalah, kemunduran launching (penerbitan) sebuah proyek iseng dari sekumpulan teman, yang alasannya bodoh sepertinya, hanya karena kesibukan oleh tugas dan ujian, yang notabene merupakan alasan yang klise, tapi sebenarnya sangat logis, mengingat ini hanyalah sebuah proyek iseng....

Dari narasi di atas, membuat judul postingan ini semakin memiliki arti yang mendalam, namun sebagaimana cerita-cerita dongeng, fabel, dan lainnya, semua berharap memiliki akhir yang bahagia, begitu juga saya, sebagaimana kejadian-kejadian yang saya alami pada bulan ini, saya berharap mampu menutup bulan ini dengan sebuah hal manis, tapi bedanya, kalau di cerita dongeng dan fabel, sutradara atau penulislah yang membuat ceritanya berakhir bahagia, sedangkan dalam kehidupan nyata, kita sendirilah yang harus berusaha agar semuanya berakhir dengan indah....

Dan itulah yang saya lakukan, sembari mensyukuri akan penyertaan sang Khalik sehingga saya mulai mampu menulis kiriman pertama di blog ini pada pertengahan bulan, dan dengan bangga dan sedikit tersenyum angkuh, saya menulis cerita ini sebagai penutup akan bulan ini.

Ya, sebuah cerita sederhana, dimana proyek iseng yang menghabiskan dana hasil donasi dari beberapa orang, usaha belajar secara otodidak dari beberapa orang, dan yang terpenting, ide konyol dari saya (maaf, saya tidak mampu menahan ke-narsis-an saya dalam hal ini), akhirnya pada hari ini, dengan sombongnya saya menulis disini, bahwa www.ragita.com sudah bisa di akses, meskipun masih jauh dari kesempurnaan, sebuah karya yang diilhami dari obrolan ringan di bawah pohon rindang, tempat kami biasa nongkrong untuk bercanda, bermain, tukar-tukaran film, dan belajar, embrio yang lucu telah menjelma menjadi sebuah kenyataan, sebuah kreasi yang benar-benar nyata (hahahaha untuk ukuran dunia maya tentunya); sebuah domain yang mengandung arti candaan, hinaan dan kebanggaan yang berisikan sebuah simple machine forum, yang akan dipakai dan digunakan sepenuhnya dari, oleh, dan untuk kalangan sendiri...
"Every story has its own ends. But, in life the end depends on our effort"
Ray Wodrow

Tulisan Pertama

Entah kenapa (Ngikutin salah satu celetukan dosen yang mengajar di kampus saya), malam ini begitu banyak ide yang muncul di otak, mungkinkah ini berhubungan dengan sindrom bangun di tengah malam ? Kurang tau juga, dan memang tidak ingin tahu, not my business istilah kerennya....

Yak, sampe disitu saja basa-basinya (toh padahal semua isi tulisan pertama ini juga basa-basi kabeh). Saya sebenarnya tidak berharap banyak dengan eksistensi blog ini, namun apa daya, toh kebutuhan juga yang setengah memaksa saya untuk membuatnya. Dan semakin tidak menjadi masuk akal, ketika ternyata ada bagian diri yang merasa sebagai seorang penulis terus menerus memaksa untuk mulai menulis.

Jadi, inilah saya Ray Wodrow, memulai tulisan pertama saya di blog ini, bukan untuk pamer (terlihat dari tampilan yang masih menggunakan template), bukan sekedar kena demam blogging (kayak jejaring sosial), dan yang terpenting, blog ini muncul sebagai sebuah saluran jeritan hati dari jiwa penulis yang bergejolak dalam diri saya.... Soal apa nantinya tema dari blog ini, belum tahu juga, yang jelas sebisa mungkin informatif, egois, angkuh, sombong, pelit, curang, dan hal-hal buruk lain, mengenai apapun, siapapun dan dimanapun....


@RayWodrow 04:10