Artículo en inglés en el Blog de Calvin Hsia.
-- Permutations --
http://blogs.msdn.com/calvin_hsia/archive/2005/01/18/355405.aspx
Ejemplo:
nn=0 permute("abcd",0) PROCEDURE permute(cstr,nLev) LOCAL nTrylen,i nTrylen= LEN(cstr)-nLev IF nTryLen = 0 nn=nn+1 ?nn,cstr ELSE FOR i = 1 to nTrylen IF i>1 && swap nlev+1 and nlev+i chars cstr= LEFT(cstr,nlev) + SUBSTR(cstr,nLev+i,1) +; SUBSTR(cstr,nLev+2, i-2)+SUBSTR(cstr,nlev+1,1)+SUBSTR(cstr,nLev+i+1) ENDIF permute(cstr,nlev+1) ENDFOR ENDIF RETURN
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.