Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Ordinare i valori di un array

    Ciao a tutti, ho un array con sei valori numerici al suo interno...
    E' possibile ordinarli in modo crescente (viceversa) all'interno dello stesso array?

    Se non è possibile, come mi consigliereste di agire?
    (Non ditemi "passa a php", che proprio in ASP3 lo devo fare... )

    Τί ουν ποιήσε ϕιλοσοϕίας πέρι; πή τρέψή άγνοουμένων τούτων;

  2. #2
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    ci sono diversi algoritmi per l'ordinamento dei dati.

    uno è quello di confrontare il primo valore con il secondo valore, se questo è maggiore (e devi ordinarli in modo crescente) i due valori vanno scambiati, se invece non è maggiore va lasciato così e vanno confrontati il secondo alore con il terzo. In caso i valori vengano scambiati bisogna ripartire dal confronto tra il primo e il secondo valore. Quando non ci sono più scambi significa che è ordinato.

    Per ordinare un array (di tipo qualsiasi purché omogeneo e comparabile) bisogna chiamare "qSort":
    codice:
    Call qSort(MioArray) 
    oppure 
    qSort MioArray
    fai una ricerca sul forum.
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  3. #3
    Originariamente inviato da Luis33
    ci sono diversi algoritmi per l'ordinamento dei dati.

    uno è quello di confrontare il primo valore con il secondo valore, se questo è maggiore (e devi ordinarli in modo crescente) i due valori vanno scambiati, se invece non è maggiore va lasciato così e vanno confrontati il secondo alore con il terzo. In caso i valori vengano scambiati bisogna ripartire dal confronto tra il primo e il secondo valore. Quando non ci sono più scambi significa che è ordinato.

    Per ordinare un array (di tipo qualsiasi purché omogeneo e comparabile) bisogna chiamare "qSort":
    codice:
    Call qSort(MioArray) 
    oppure 
    qSort MioArray
    fai una ricerca sul forum.
    qSort lo chiami se lo hai creato altrimenti il server come fa a sapere a quale funzione fai riferimento?

  4. #4
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    Originariamente inviato da weppos
    qSort lo chiami se lo hai creato altrimenti il server come fa a sapere a quale funzione fai riferimento?
    bè mi sembra scontato...
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  5. #5
    Originariamente inviato da Luis33
    bè mi sembra scontato...

    Per ordinare un array (di tipo qualsiasi purché omogeneo e comparabile) bisogna chiamare "qSort":
    Detta così sembra una funzione predefinita.

  6. #6
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    Originariamente inviato da weppos
    Detta così sembra una funzione predefinita.
    gli ho anche detto di cercare sul forum qSort...
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  7. #7
    Prova ad utilizzare questo esempio:

    codice:
    <%@ LANGUAGE = VBscript %>
    <%
    
    sub heapfy(byref V,j,byval n)
      k=j
      if ((2*j+1)<=n) then
        if (V(2*j+1)>V(k)) then
          k=2*j+1
        end if
      end if
      if ((2*j)<=n) then
        if (V(2*j)>V(k)) then
          k=2*j
        end if
      end if
      if (k<>j) then
        t=V(j)
        V(j)=V(k)
        V(k)=t
        call heapfy(V,k,n)
      end if
    end sub
    
    sub ordina(byref V)
      n=ubound(V)
      i=n\2
      while (i>=0)
        call heapfy(V,i,n)
        i=i-1
      wend
      i=n
      while (i>=1)
        t=V(i)
        V(i)=V(0)
        V(0)=t
        call heapfy(V,0,(i-1))
        i=i-1
      wend
    end sub
    
    a=array(2,3,5,1,9,4,7,6,8,11)
    Response.Write("Array iniziale:
    ")
    for i=0 to ubound(a)
      Response.Write(a(i)&" ")
    next
    
    call ordina(a)
    
    Response.Write("
    Array ordinato:
    ")
    for i=0 to ubound(a)
      Response.Write(a(i)&" ")
    next
    %>
    Lo trovi qui --> http://www.aspcode.it/articoli/artic...how_art&idx=93

    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.