algorithm(C++)