/* Gnome Sort Public domain. Untested code. */ void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } // Argument are a integer array and its size int[] gnomeSort(int a[], int size) { int i= 2; while( i <= size) { if( a[i-1] <=a[i]) { i++; } else { swap(& a[i-1], & a[i]); i--; if(i == 1) i = 2; } } }