#include <stdio.h>
#include <stdlib.h>
#include "algorithm.h"
#include "deque.h"


void print_int(int i)
{
  printf(" %4i", i);
}

void main()
{
  deque<int> d;

  for(int i = 0; i < 1024; ++i)
  {
    bool insert = rand()%2;

    print_int(d.size());
    print_int(d.capacity());

    if(d.capacity() != 0)
      print_int((d.size()*100)/d.capacity());
    else
      printf("    *");

    printf("  ");

    if(insert)
    {
      int new_elem = rand()%256;
      d.push_front(new_elem);

      printf(">");
      print_int(new_elem);
      printf("  ");
      for_each(d.begin(), d.end(), print_int);
      printf("         ");
    }
    else if(!d.empty())
    {
      int popped_elem = d.back();
      d.pop_back();

      printf("        ");
      for_each(d.begin(), d.end(), print_int);
      print_int(popped_elem);
      printf(">");
      printf("  ");
    }

    printf("\n");
  }
}
