What algorithm finds a common sequence that is out of order between two strings? I need to implement or use one in C++.