Program Quence ( input antrian ) C++ | putra PANTURA

Diposting pada
Queue atau antrian merupakan suatu kumpulan data yang penambahan elemennya hanya bisa dilakukan pada suatu ujung atau rear, dan penghapusan atau pengambilan elemen dilakukan lewat ujung yang lain (front).
Contoh program Queue:
Memasukkan, menghapus, serta mencetak kembali data yang dimasukkan:

#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#define MAX 50

char *p[MAX], *pop(void);
int spos = 0;
int rpos = 0;
void insert(void), push(char *q), print(void), clear(void);
//**ANDHIKA NUR AFIAN**//
void insert(void)
{
  char s[50], *p;
  do {
     printf(“spos %d: “, spos+1);
    gets(s);
    if(*s==0) {
       break;
    }
    p = (char *) malloc(strlen(s)+1);
     if(!p) {
      printf(“Out of memory.n”);
      return;
    }
    strcpy(p, s);
     if(*s) {
       push(p);
    }
  } while(*s);
}
void print(void)
{
  int t;
  for(t=rpos; t < spos; ++t)
    printf(“%d. %sn”, t+1, p[t]);
}
void clear(void)
{
  char *p;

  if((p=pop())==NULL) {
     return;
  }
  printf(“%sn”, p);
}
void push(char *q)
{
  if(spos==MAX) {
     printf(“List Fulln”);
    return;
  }
  p[spos] = q;
  spos++;
}
char *pop(void)
{
  if(rpos==spos) {
    printf(“No more.n”);
     return NULL;
  }
  rpos++;
  return p[rpos-1];
}
int main(void)
{
  char s[50];
  register int t;
  for(t=0; t < MAX; ++t) {
      p[t] = NULL;
  }
  while(1) {
    printf(“Insert(I), Print(P), Clear(C), Quit(Q): “);
     gets(s);
    *s = toupper(*s);
     switch(*s) {
      case ‘I’:
          insert();
        break;
        case ‘P’:
        print();
          break;
        case ‘C’:
          clear();
          break;
        case ‘Q’:
          exit(0);
     }
  }
  return 0;
}//**ANDHIKA NUR AFIAN**//

Gambar Gravatar
Blogger dan Programmer | andhika.na@gmail.com

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *