table sort algorithm