Interclasare
  1. int b[101];
  2. int Interclasare(int st,int dr)
  3. {
  4.      int i,j,k,n=(st+dr)/2,m=dr;
  5.      for (i=st;i<=dr;i++) {b[i]=a[i];a[i]=0;}
  6.      i=st;j=n+1;k=st-1;
  7.      while (i<=n && j<=m)
  8.      {
  9.           if (b[i]<b[j]) {a[++k]=b[i];i++;}
  10.           else {a[++k]=b[j];j++;}
  11.      }
  12.      while (i<=n) {a[++k]=b[i];i++;}
  13.     while (j<=m) {a[++k]=b[j];j++;}
  14. }
Variabile globale
n =

a=
b=

Variabile locale
i =

j =

n =

m =

  Algoritmul execută următorii pași:
5. Contruiește un alt vector care copiază elementele din vectorul inițial.
6. Împarte lista sortată în două subliste aproximativ egale (fiecare listă având 2 extremități - stânga și dreapta în vectorul construit. ).
7-11. Se interclasează cele două liste și se obține lista inițială sortată.