You are on page 1of 5

#include <stdio.

h>

#include <stdlib.h>

typedef struct node {

double elmt;

struct node *next;

}node;

typedef struct queuetype {

node *head ;

node *tail

} queuetype ;

void tail (int elmt,queuetype *queue);

int head (queuetype *queue);

int main(void)

int elmt;

int i,x,y,z;

x=0;y=0;z=0;

int tot ;

queuetype queue1 ;
queuetype queue2 ;

queuetype queue3 ;

queue1.head = NULL;

queue1.tail = NULL;

queue2.head = NULL;

queue2.tail = NULL;

queue3.head = NULL;

queue3.tail = NULL;

int time1,time2,time3;

time1 = 0;

time2 = 0;

time3 = 0;

int total ;

k:

printf("Masukkan Jumlah Nasabah : ");

scanf("%d",&tot);

printf("Masukkan Durasi Tiap Nasabah : ");

for (i=1;i<=tot;i++) {

scanf("%d",&elmt);

if ((time1<=time2)&&(time1<=time3)){

tail(elmt,&queue1);

time1=time1+elmt;

} else if (time2<=time3){

tail (elmt,&queue2);

time2=time2+elmt;
} else {

tail(elmt,&queue3);

time3=time3+elmt;

time1=0;time2=0;time3=0;

for (i=1;i<=tot;i++) {

time1=time1+head(&queue1);

time2=time2+head(&queue2);

time3=time3+head(&queue3);

total = time1;

if((time2>time1)){

total=time2;

} if ((time3>time2)||(time3>time1)){

total=time3;

printf("\nWaktu yang diperlukan adalah %d menit\n",total);

void tail(int elmt,queuetype *queue){

node *temp;

node *ltemp;

temp = (node*)malloc(sizeof (node));

temp->elmt = elmt;
if (queue->head == NULL) {

temp->next = NULL;

queue->head = temp;

queue->tail = temp;

} else {

queue->tail->next=temp;

queue->tail = temp;

queue->tail->next = NULL;

int head(queuetype *queue){

node *temp;

char coba;

int nilai;

temp = (node*) malloc (sizeof (node));

if (queue->head != NULL){

temp = queue->head;

nilai=temp->elmt;

temp = temp->next;

free(queue->head);

queue->head = temp ;

} else {

nilai = 0;

}
return (nilai);

You might also like