Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Que Tenemos Sobre Algoritmos Para Desordenar Arrays?
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Que Tenemos Sobre Algoritmos Para Desordenar Arrays? 
 
buenas

estoy trabajando en un ejemplo y necesito desordenar una array.

como se desordena un array numérico?
como se desordena un array de string?

espero sus comentarios?
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Que Tenemos Sobre Algoritmos Para Desordenar Arrays? 
 
bueno hice algo sencillo y funciona


Public Sub Desordenar()
  Dim max As Integer
  Dim uno As Integer
  Dim dos As Integer
  
  
  Randomize
  max = TagOrdenado.Max
  
  uno = Rand(0, max)
  dos = Rand(0, max)
  
  Repeat
    dos = Rand(0, max)
  Until uno <> dos
  
  Print uno
  Print dos
  
  Print TagOrdenado[uno]
  Print TagOrdenado[dos]
  
  Swap TagOrdenado[uno], TagOrdenado[dos]
  
   Print TagOrdenado[uno]
  Print TagOrdenado[dos]
 
End



ese código lo pongo en un for y lo repito cuantas veces quiera en mi caso para el ejemplo con 10 veces esta bien, lo que hace es tomar dos elementos del array al azar y los intercambia con swap

saludos
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Que Tenemos Sobre Algoritmos Para Desordenar Arrays? 
 
a se me olvidaba el array es de tipo string[] que es lo que baraja por decirlo de alguna manera.
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Que Tenemos Sobre Algoritmos Para Desordenar Arrays? 
 
Se podría utilizar el algoritmo de "Knuth".

Un pequeño ejemplo:
Private Const RAND_MAX As Integer = 2147483647


Public Sub Main()

  Dim ii As Integer[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
                         11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
  Dim i As Integer

    Knuth_perm(ii.Count, ii)      ' Vuelta de los datos por Dirección
    
    For Each i In ii
      Print i
    Next

End


Private Function Knuth_perm(size As Long, _pi As Integer[])     ' Vuelta de los datos por Dirección
  
  Dim l, p As Long
  Dim t As Integer

   For l = size To 2 Step - 1
      p = CLong(Rnd(0, RAND_MAX)) Mod l
      t = _pi[p]
      _pi[p] = _pi[l - 1]
      _pi[l - 1] = t
   Next

End

 



 
última edición por vuott el Martes, 18 Julio 2017, 10:24; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Que Tenemos Sobre Algoritmos Para Desordenar Arrays? 
 
...y más podrías usar la función externa "strfry( ) ":

https://foro.gambas-es.org/viewtopic.php?f=5&t=5657
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Que Tenemos Sobre Algoritmos Para Desordenar Arrays? 
 
[quote user="vuott" post="39304"]...y más podrías usar la función externa "strfry( ) ":

https://foro.gambas-es.org/viewtopic.php?f=5&t=5657[/quote


esta solución esta buena ya que libc6 esta en los sistemas bases de ultima se podría hacer una lib en tmp
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Que Tenemos Sobre Algoritmos Para Desordenar Arrays? 
 
v3ctor escribió: [Ver mensaje]
se podría hacer una lib en tmp
  
      

....porqué hacer una libreria externa en C puro, si ya tú puedes utilizar aquella función mediante la palabra-llave "Extern" ?
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Que Tenemos Sobre Algoritmos Para Desordenar Arrays? 
 
Tenemos que añadir que la función externa "strfry( ) " elimina el eventual dato con valor &h00 (estoy hablando del valor 0x00, no del caracter "0") y todos los datos pasados a la función después el valor &h00 !
 



 
última edición por vuott el Martes, 18 Julio 2017, 20:50; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Preguntas Sobre Los Arrays De Controles. (... nicoobe Controles/Librerías/Componentes 3 Miercoles, 23 Junio 2010, 20:48 Ver último mensaje
Emmet
No hay nuevos mensajes Mostrar Arrays Dentro De Otro Arrays Shell General 9 Domingo, 07 Diciembre 2014, 20:30 Ver último mensaje
Shell
No hay nuevos mensajes Análisis Y Diseño De Algoritmos Shell General 1 Sabado, 04 Julio 2015, 18:56 Ver último mensaje
jguardon
No hay nuevos mensajes Cuando Olvidamos Para Que Tenemos Añadido... Shell Mundo Linux 2 Lunes, 12 Febrero 2018, 10:56 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron