Programación Específica > Diseño de Algoritmos
Combinacion De Elementos De Una Lista
fuhrer:
Hola.
La verdad no le entiendo muy bien a tu código, pero yo creo que sería más fácil que utilices un arreglo, ya que de esta forma sólo retornas el indice y no pierdes tus elementos como dices que te esta pasando, amenos que te lo hayan pedido con listas entonces revisa bien lo que haces.
Hasta luego.
vimaci:
bueno, al final conseguí hacer la combinacion, el codigo utilizado es el siguiente, es evidente que tengo una unidad para la gestion de las listas:
procedure Combinacion(M,N:integer; coleccion : tlista; var comb:tlista);
..var
....letra,aux : tlista;
..procedure Combina(pos : integer);
....var i:integer;
......s,pal:tinfo;
....begin
......pal:='';
......if pos > M then
........begin
..........aux:=letra;
..........while aux<>nil do
............begin
..............pal:=pal+(aux^.info);
..............aux:=aux^.sig;
............end;
..........InsertarAlFinal(comb, pal);
..........borrarultimonodo(letra);
........end
......else
........begin
..........for i := 1 to N do
............begin
..............obtenerinfopos(coleccion, s, i);
..............Insertar(letra,s,pos);
..............Combina(pos + 1);
............end;
..........borrarultimonodo(letra);
........end
....end;
..begin
......crear(letra);
......Combina(1);
..end;
Navegación
[*] Página Anterior
Ir a la versión completa