Folgender Beispielcode arbeitet mit Arraygröße 10. Er sortiert das Array a vom kleinsten zum größten Element. Dabei funktioniert der Code rekursiv; die Funktion bubblesort() ruft sich so oft selbst auf, bis das Array komplett sortiert ist, also bis kein a[i] größer ist als der Nachfolger a[i+1].
Der C-Code ist nach C99-Standard geschrieben.
#include <stdio.h> #define SIZE 10 void bubblesort(int *a) { int i; for (i=0; i<(SIZE-1); i++) { if (a[i]>a[i+1]) { int tmp=a[i]; a[i]=a[i+1]; a[i+1]=tmp; bubblesort(a); } } } int main (int argc, char * argv[]) { int a[SIZE]={0, 2, 60, 72, 3, 1, 5, 13, 9, 4}; for (int i=0; i<SIZE; i++) { printf("%d, ", a[i]); } printf("\n"); bubblesort(a); for (int i=0; i<SIZE; i++) { printf("%d, ", a[i]); } printf("\n"); }