abstract sorting & Selection Sort