KEMBAR78
Queue - Antrian: Struktur Data | PDF | Scientific Modeling | Computer Science
0% found this document useful (0 votes)
35 views11 pages

Queue - Antrian: Struktur Data

The document discusses queue data structures and sorting algorithms. It implements queue functions like enqueue, dequeue, and display in C++. It also includes functions to sort the queue in ascending and descending order. The full program has menu options to add/remove elements, clear the queue, and view the queue sorted in both directions.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views11 pages

Queue - Antrian: Struktur Data

The document discusses queue data structures and sorting algorithms. It implements queue functions like enqueue, dequeue, and display in C++. It also includes functions to sort the queue in ascending and descending order. The full program has menu options to add/remove elements, clear the queue, and view the queue sorted in both directions.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

STRUKTUR DATA

QUEUE - ANTRIAN

Disusun Oleh:

Teguh Sudrajat - 16.11.0253


TI 16 D

PROGRAM STUDI TEKNIK INFORMATIKA


SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM PURWOKERTO
PURWOKERTO

2017
Queue Besar ke Kecil

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

struct Queue
{
int data[MAX];
int head;
int tail;
};

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(IsEmpty()==1)
{
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
cout<<antrian.data[antrian.tail];
}
else
//kodisi lainnya jika penuh() sama dengan 0 maka antrian.ekor ditambah 1
{
antrian.tail++;
antrian.data[antrian.tail]=data;
cout<<antrian.data[antrian.tail];
}
}

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;
cout<<"Data Clear";
}

void Tampil()
{
int i, j, tmp;

if (IsEmpty()==0) {

cout<<"Data sebelum diurutkan: \n";

for (int i=antrian.head;i<=antrian.tail; i++) {


cout<<antrian.data[i]<<" ";
}

cout<<endl;

// fungsi koding mengurutkan angka dari besar ke kecil


cout<<"\n Menampilkan data dari kecil ke besar: \n";
for (i= 0;i<=antrian.tail; i++) {
for(j = i; j <= antrian.tail; j++) {
if(antrian.data[i] < antrian.data[j]) {
tmp = antrian.data[i];
antrian.data[i] = antrian.data[j];
antrian.data[j] = tmp; }

}
}

for (int i=antrian.head;i<=antrian.tail; i++) {


cout<<antrian.data[i]<<" ";
}

}
else {
cout<<"Data Kosong\n";
}
}

void main()
{
int pil;
int data;
Create();
do
{
clrscr();
cout<<"\n============MENU PILIHAN============\n";
cout<<"1. Enqueue\n";
cout<<"2. Dequeue\n";
cout<<"3. Tampil\n";
cout<<"4. Clear\n";
cout<<"5. Keluar\n";
cout<<"--------------------------------------\n";
cout<<"Masukkan Pilihan Anda -> ";
cin>>pil;
switch(pil)
{
case 1:
cout<<"Data : ";cin>>data;
Enqueue(data);
break;
case 2:
if (IsEmpty()==0)
cout<<"Elemen yang keluar : "<<Dequeue();
else
cout<<"Data kosong"<<endl;
break;
case 3:
Tampil();
break;
case 4:
Clear();
break;
case 5:
break;
}
getch();
} while(pil!=5);
}
Queue Kecil ke Besar

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

struct Queue
{
int data[MAX];
int head;
int tail;
};

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(IsEmpty()==1)
{
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
cout<<antrian.data[antrian.tail];
}
else
//kodisi lainnya jika penuh() sama dengan 0 maka antrian.ekor ditambah 1
{
antrian.tail++;
antrian.data[antrian.tail]=data;
cout<<antrian.data[antrian.tail];
}
}

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;
cout<<"Data Clear";
}

void Tampil()
{
int i, j, tmp;

if (IsEmpty()==0) {

cout<<"Data sebelum diurutkan: \n";

for (int i=antrian.head;i<=antrian.tail; i++) {


cout<<antrian.data[i]<<" ";
}

cout<<endl;

// fungsi koding mengurutkan angka dari kecil ke besar


cout<<"\n Menampilkan data dari kecil ke besar: \n";
for (i= 0;i<=antrian.tail; i++) {
for(j = i; j <= antrian.tail; j++) {
if(antrian.data[i] > antrian.data[j]) {
tmp = antrian.data[i];
antrian.data[i] = antrian.data[j];
antrian.data[j] = tmp; }

}
}

for (int i=antrian.head;i<=antrian.tail; i++) {


cout<<antrian.data[i]<<" ";
}

}
else {
cout<<"Data Kosong\n";
}
}

void main()
{
int pil;
int data;
Create();
do
{
clrscr();
cout<<"\n============MENU PILIHAN============\n";
cout<<"1. Enqueue\n";
cout<<"2. Dequeue\n";
cout<<"3. Tampil\n";
cout<<"4. Clear\n";
cout<<"5. Keluar\n";
cout<<"--------------------------------------\n";
cout<<"Masukkan Pilihan Anda -> ";
cin>>pil;
switch(pil)
{
case 1:
cout<<"Data : ";cin>>data;
Enqueue(data);
break;
case 2:
if (IsEmpty()==0)
cout<<"Elemen yang keluar : "<<Dequeue();
else
cout<<"Data kosong"<<endl;
break;
case 3:
Tampil();
break;
case 4:
Clear();
break;
case 5:
break;
}
getch();
} while(pil!=5);
}
Queue Besar Kecil dan Kecil Besar

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

struct Queue
{
int data[MAX];
int head;
int tail;
};

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(IsEmpty()==1)
{
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
cout<<antrian.data[antrian.tail];
}
else
//kodisi lainnya jika penuh() sama dengan 0 maka antrian.ekor ditambah 1
{
antrian.tail++;
antrian.data[antrian.tail]=data;
cout<<antrian.data[antrian.tail];
}
}

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;
cout<<"Data Clear";
}

void Tampil()
{
int i, j, tmp;

if (IsEmpty()==0) {

cout<<"Data sebelum diurutkan: \n";

for (int i=antrian.head;i<=antrian.tail; i++) {


cout<<antrian.data[i]<<" ";
}

cout<<endl;
cout<<endl;

// fungsi koding mengurutkan angka dari besar ke kecil


cout<<"Menampilkan data dari besar ke kecil: \n";
for (i= 0;i<=antrian.tail; i++) {
for(j = i; j <= antrian.tail; j++) {
if(antrian.data[i] < antrian.data[j]) {
tmp = antrian.data[i];
antrian.data[i] = antrian.data[j];
antrian.data[j] = tmp; }

}
}

for (int i=antrian.head;i<=antrian.tail; i++) {


cout<<antrian.data[i]<<" ";
}

// fungsi koding mengurutkan angka dari kecil ke besar


cout<<"\n Menampilkan data dari kecil ke besar: \n";
for (i= 0;i<=antrian.tail; i++) {
for(j = i; j <= antrian.tail; j++) {
if(antrian.data[i] > antrian.data[j]) {
tmp = antrian.data[i];
antrian.data[i] = antrian.data[j];
antrian.data[j] = tmp; }

}
}

for (int i=antrian.head;i<=antrian.tail; i++) {


cout<<antrian.data[i]<<" ";
}

}
else {
cout<<"Data Kosong\n";
}
}

void main()
{
int pil;
int data;
Create();
do
{
clrscr();
cout<<"\n============MENU PILIHAN============\n";
cout<<"1. Enqueue\n";
cout<<"2. Dequeue\n";
cout<<"3. Tampil\n";
cout<<"4. Clear\n";
cout<<"5. Keluar\n";
cout<<"--------------------------------------\n";
cout<<"Masukkan Pilihan Anda -> ";
cin>>pil;
switch(pil)
{
case 1:
cout<<"Data : ";cin>>data;
Enqueue(data);
break;
case 2:
if (IsEmpty()==0)
cout<<"Elemen yang keluar : "<<Dequeue();
else
cout<<"Data kosong"<<endl;
break;
case 3:
Tampil();
break;
case 4:
Clear();
break;
case 5:
break;
}
getch();
} while(pil!=5);
}

You might also like