Custom Sorting In C