add heap sort
fix bug