add algorithm package and several sort method