// sl-4-BA-Inf2: Sortierverfahren
#include "sortieren.h"
#include <algorithm>
#include <iostream>
using namespace std;

int tosort[] = {5,8,2,1,4,9,2,6,7,6,8,3};
const int size = sizeof(tosort)/sizeof(tosort[0]);

void ausgabe(int a[], const int size) {
  for(int i=0;i<size;i++) cout << tosort[i] << ' '; cout << endl;
}

int main(void)
{
  cout << "Sortiere Feld" << endl;
  ausgabe(tosort,size);
  cout << "mit Minimum(s)ort, (B)ubblesort, (I)nsertionsort," << endl
       << "(Q)uicksort, (M)ergesort, (H)eapsort, (C)-Sort, wie soll es sein? ";
  char m; cin.get(m); m=toupper(m);
  switch(m) {
    case 'S': MinimumSort(tosort,0,size-1); break;
    case 'B': BubbleSort(tosort,0,size-1); break;
    case 'I': InsertionSort(tosort,0,size-1); break;
    case 'Q': QuickSort(tosort,0,size-1); break;
    case 'M': MergeSort(tosort,0,size-1); break;
    case 'H': HeapSort(tosort,0,size-1); break;
    case 'C': sort(tosort,tosort+size); break;
    default : cout << "Nicht mit mir!" << endl;
  }
  cout << "Sortiert: "; ausgabe(tosort,size);

  system("Pause");
  return EXIT_SUCCESS;
}
