Merge Sort
  1. void MergeSort(int st,int dr)
  2. {
  3.      int poz;
  4.      if (dr-st>0)
  5.      {
  6.           poz=(st+dr)/2;
  7.           qsort(st,poz);
  8.           qsort(poz+1,dr);
  9.           Interclasare(st,dr);
  10.      }
  11. }
Variabile globale
n =

a=
Stiva

Merge Sort constă în împărţirea şirului iniţial în două subşiruri de lungimi aproximativ egale și interclasarea lor.