Welcome Anonymous

What would you like to do?


Paste code remember you name for one cookie

Pasted by fila com vetor

Description None

On Monday 08 Feb 06:43

Language C++

Url http://paste.ideaslabs.com/show/Fkv8YuuwaV

Download Here

  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. const int MAXFILA = 100;
  6.  
  7. class Fila_vetor {
  8.     int ini;
  9.     int fim;
  10.     int tam;
  11.     int cnt;
  12.     int *data;
  13.     public :
  14.         Fila_vetor(int _tam) {
  15.             tam = _tam;
  16.             data = new int [_tam];
  17.             ini = 0;
  18.             fim = 0;
  19.             cnt = 0;
  20.         }
  21.  
  22.         bool cheia() {
  23.             return cnt == tam;
  24.         }
  25.  
  26.         bool vazia() {
  27.             return cnt == 0;
  28.         }
  29.  
  30.         void adicionar(int elemento) {
  31.             if(cheia())
  32.                 throw "Fila cheia";
  33.             else {
  34.                 //cout << "antes " << "ini " << ini << "fim " << fim << endl;
  35.                 data[fim] = elemento;
  36.                 fim = (fim + 1) % tam;
  37.                 //cout << "depois" << "ini " << ini << " fim " << fim <<endl;
  38.                 cnt++;
  39.             }
  40.         }
  41.  
  42.         int remover() {
  43.             int valor;
  44.             if(vazia())
  45.                 throw "Pilha vazia";
  46.             else {
  47.                 valor = data[ini];
  48.                 ini = (ini + 1) % tam;
  49.                 cnt--;
  50.             }
  51.             return valor;
  52.         }
  53.  
  54.         int top() {
  55.            /* if(vazia())
  56.                 throw "pilha vazia";
  57.             else*/
  58.                 return data[ini];
  59.         }
  60.  
  61.         ~Fila_vetor() {delete [] data;}
  62.  
  63.  
  64. };
  65.  
  66. int main() {
  67.     Fila_vetor a(3);
  68.     try{
  69.     a.adicionar(4);
  70.     a.adicionar(1);
  71.     a.adicionar(2);
  72.     a.remover();
  73.     a.adicionar(5);
  74.     }catch(const char* s){
  75.         cout << s;
  76.         }
  77.     return 0;
  78. }