Necesito un algoritmo para armar cadenas en orden.

Iniciado por jdc, 9 Abril 2010, 03:14 AM

0 Miembros y 1 Visitante están viendo este tema.

jdc

Quiero saber como podría generar cadenas desde 1 a zzz, es decir:

1
2
3
...
9
1a
1b
...
zzzzzz

Shell Root

#1
Pero en que momento pasa de ser un numero a ser letra?, es decir,
1...9
1a...1z
2a...2z
[Snip]
8a...8z
9a...9z
Aquí que sigue?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Castg!

guardas las cadenas en un array, y despues ordenas ese array:

Código (php) [Seleccionar]

$cadenas = array("1", "cuatro", "3", "5inco", "5zinco", "2", "11", "967", "janito", "elhacker.net", "3 cadenas eran pocas");
natsort($cadenas);
foreach($cadenas as $valor){
echo "$valor\n";
}


esto devuelve:

1
2
3
3 cadenas eran pocas
5inco
5zinco
11
967
cuatro
elhacker.net
janito

Shell Root

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

jdc

Cita de: Alex@ShellRoot en  9 Abril 2010, 04:00 AM
Pero en que momento pasa de ser un numero a ser letra?, es decir,
1...9
1a...1z
2a...2z
[Snip]
8a...8z
9a...9z
Aquí que sigue?

Claro! mi problema es que necesito que mi sistema sepa que "1c" por ejemplo + 1 seria "1d" o ya mas largo "1abc" + 1 seria "1abd"

Shell Root

what the fuck!, creo que cambiaste lo que dijiste al inicio. Además sigo sin entender. Tenes que generar un algoritmo para generar esas cadenas, o al momento de sumarle un 1 el sistema diferencie algo?

1. Esto:
Código (php) [Seleccionar]
1, 2, 3...
1a, 1b, 1c...
2a, 2b, 2c...
[Snip]
8a, 8b, 8c...
9a, 9b, 9c...
... no sé que más sigue


2. Ó esto:
Código (php) [Seleccionar]
1a + 1 = 1b
1b + 1 = 1c
1c + 1 = 1d
[Snip]
9ab + 1 = 9ac
9ac + 1 = 9ad
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

jdc

 :P

Mira el sistema sabra por ejemplo que el ultimo codigo generado fue el "1asdf" por ejemplo y generara el "1asdg" entiendes? piensalo como un id que se incrementa de una unidad por vez.

Shell Root

Ok, Ok, ahora si entiendo, pero al inicio diste a entender que se generaria automaticamente, Bueno, ahora que ya tengo la idea de como es, tengo otra duda, cual seria el ultimo item? Tengo la duda porque dijistes zzzzz, osea, cuando se empieza y se termina los numeros, para continuar con las letras?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

jdc

Cita de: Alex@ShellRoot en  9 Abril 2010, 05:54 AM
Ok, Ok, ahora si entiendo, pero al inicio diste a entender que se generaria automaticamente, Bueno, ahora que ya tengo la idea de como es, tengo otra duda, cual seria el ultimo item? Tengo la duda porque dijistes zzzzz, osea, cuando se empieza y se termina los numeros, para continuar con las letras?

Tecnicamente terminaria con "zzzzzz" lo estoy pensando para hacer un acortador de urls

mas o menos asi

inicio
consulto si existe url
si existe muestro el id sino muestro el ultimo id y le sumo 1
guardo el id
muestro el id
fin xD


Shell Root

Si, pero como pasa de numero a letra?
Es decir, si tengo un numero, como paso a zzzzz
1abc
[Snip]
zzzzzz
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.