void sort(int* arr, int len) { if (!arr) { return; } for (int i = 1; i < len; ++i) { while (arr[0] != 0) { swap(arr[arr[0]], arr[0]); } i = 1; while (i < len) { if (arr[i] == i) { i++; } else { int tmp = arr[i]; swap(arr[0], arr[tmp]); swap(arr[tmp], arr[i]); swap(arr[0], arr[i]); } } } }