coding stack &queue

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

typedef struct{
    int data [MAX];
    int head;
    int tail;
} queue;

queue antrian;

void Create()
{
    antrian.head=antrian.tail=-1;
}

int IsEmpty(){
    if(antrian.tail==-1) return 1;
    else return 0;
}

int IsFull(){
    if(antrian.tail==MAX-1) return 1;
    else return 0;
}

void Enqueue(int data){
    if(IsFull()==0){
        if(IsEmpty()==1){
            antrian.head=antrian.tail=0;
            antrian.data[antrian.tail]=data;
            printf("%d masuk !",antrian.data[antrian.tail]);
        }else{
            antrian.tail++;
            antrian.data[antrian.tail]=data;
            printf("%d masuk !", antrian.data[antrian.tail]);
        }
    }else{
        printf("Data penuh!");
    }
}

int Dequeue(){
    int i;
    int e=antrian.data[antrian.head];
    for(i=antrian.head; i<=antrian.tail-1; i++){
        antrian.data[i]=antrian.data[i+1];
    }
    antrian.tail--;
    return e;
}

void Clear(){
    antrian.head=antrian.tail=-1;
    printf("Data Clear");
}

void Tampil(){
    if (IsEmpty()==0){
        for (int i=antrian.head;i<=antrian.tail; i++){
            printf("%d ",antrian.data[i]);
        }
    }else{
        printf("Data Kosong\n");
    }
}

void main(){
    int pil;
    int data;
    Create();
    do{
        clrscr();
        printf ("\n============MENU PILIHAN============\n");
        printf ("1. Enqueue\n");
        printf ("2. Dequeue\n");
        printf ("3. Tampil\n");
        printf ("4. Clear\n");
        printf ("5. Keluar\n");
        printf ("--------------------------------------\n");
        printf ("Masukkan Pilihan Anda -> ");
        scanf("%d",&pil);
        switch(pil){
            case 1: printf("Data : ");
                      scanf("%d",&data);
                      Enqueue(data);
                      break;
            case 2: printf("Elemen yang keluar : %d", Dequeue());
                      break;
            case 3: Tampil();
                      break;
            case 4: Clear();
                      break;
            case 5: clrscr();
                      gotoxy(28,10);printf("    Present By : ");
                      gotoxy(30,11);printf("\"Asdos ASD 2013\"\n");
                      getch();
                      _exit(0);
                      break;
            default: printf("Pilihan tidak ada !");
            }
            getch();
    }while(pil!=5);
}

Komentar

Postingan populer dari blog ini

Format Multimedia Pada Halaman Web

PENGERTIAN HTML

create data base db_kuliah