Italian Perplexity

LucaMs

Expert
Licensed User
Longtime User
Chiesto:

scrivi l'algoritmo quicksort in linguaggio B4X​


Risposta:

Ecco un'implementazione dell'algoritmo Quicksort in linguaggio B4X:
B4X:
Sub QuickSort(A() As Int, Left As Int, Right As Int)
    Dim i, j, pivot, temp As Int
    
    If Left < Right Then
        pivot = A(Right)
        i = Left - 1
        
        For j = Left To Right - 1
            If A(j) <= pivot Then
                i = i + 1
                temp = A(i)
                A(i) = A(j)
                A(j) = temp
            End If
        Next
        
        temp = A(i + 1)
        A(i + 1) = A(Right)
        A(Right) = temp
        
        QuickSort(A, Left, i)
        QuickSort(A, i + 2, Right)
    End If
End Sub

Questa implementazione prende in input un array di interi A, l'indice sinistro Left e l'indice destro Right. L'algoritmo Quicksort è implementato come una subroutine ricorsiva.

L'algoritmo seleziona un elemento pivot dall'array (in questo caso l'ultimo elemento dell'array), quindi divide l'array in due parti: gli elementi più piccoli del pivot a sinistra e gli elementi più grandi del pivot a destra. Questo viene fatto utilizzando due indici i e j. L'indice i tiene traccia della posizione dell'ultimo elemento più piccolo del pivot trovato finora. L'indice j scorre attraverso l'array alla ricerca di elementi più piccoli o uguali al pivot. Quando viene trovato un elemento più piccolo o uguale al pivot, viene scambiato con l'elemento corrente indicato da i, che viene poi incrementato di uno.

Dopo aver completato la scansione dell'array, lo scambio finale viene effettuato tra il pivot e l'elemento successivo all'ultimo elemento più piccolo del pivot trovato.

Infine, la funzione Quicksort viene chiamata ricorsivamente per ordinare le due parti dell'array divise dal pivot.

Per utilizzare questa implementazione di Quicksort su un array di interi chiamato myArray, si può chiamare la subroutine come segue:
B4X:
QuickSort(myArray(), 0, myArray.Length - 1)
Questo ordinerà l'intero array in ordine crescente.



Perfetto :)
 

Attachments

  • PerplexityQuickSort.zip
    9 KB · Views: 76

LucaMs

Expert
Licensed User
Longtime User
Da oggi in poi, le domande ponetele a "lui" 😄

Ecco, voglio proprio sottoporgli una domanda che ho letto da poco nel forum italiano (cui non ho risposto, sia perché indirizzata direttamente a @Sagenut, sia perché ho uno stupendo mal di testa, sia perché sto guardando Tottenham-Milan - sperando che il Milan perda, perché mi sta cordialmente antipatico dai tempi di...!)

Link alla domanda (che spiegherò meglio a Perplexity)

RISPOSTA:
1678310450158.png
 
Last edited:

ivanomonti

Expert
Licensed User
Longtime User
Da oggi in poi, le domande ponetele a "lui" 😄

Ecco, voglio proprio sottoporgli una domanda che ho letto da poco nel forum italiano (cui non ho risposto, sia perché indirizzata direttamente a @Sagenut, sia perché ho uno stupendo mal di testa, sia perché sto guardando Tottenham-Milan - sperando che il Milan perda, perché mi sta cordialmente antipatico dai tempi di...!)

Link alla domanda (che spiegherò meglio a Perplexity)

RISPOSTA:
View attachment 140056
il problema che la CVL non ha questa BackGroundColor ma semplicemente DefaultTextBackgroundColor e nelle sue proprietà non trovo nulla e CSSUtils non prende questo nodo per passargli un css e cavoli non esiste nemmeno Stile CSS hahaahah, o io ho una customlistview non aggiornata o non saprei dirti, parlando di B4J

2023-03-09_111409.jpg
2023-03-09_111458.jpg
2023-03-09_111706.jpg
 

ivanomonti

Expert
Licensed User
Longtime User
Io la farei molto megllo (e in effetti, quando la canticchio lo faccio, "a braccio" o forse sarebbe meglio dire "a cappella" 😁).

https://www.perplexity.ai/search/1ea56a2f-c9fd-408d-bfe2-eebb8f50d652?s=u

Da notare che, caso raro, il testo originale contenga un errore concettuale.
"Mi costa una vita, per niente la darei"
significa che la darebbe via gratis e non ciò che l'autore intendesse dire.

Perplexity risponde

OpenAI ha sviluppato sia ChatGPT che Perplexity. ChatGPT è un modello di elaborazione del linguaggio naturale sviluppato da OpenAI che utilizza l'algoritmo GPT-3 per generare conversazioni simili a quelle umane. È stato utilizzato per costruire chatbot in grado di avviare conversazioni naturali e simili a quelle umane con gli utenti. Perplexity, d'altra parte, è un servizio di elaborazione del linguaggio naturale che utilizza l'algoritmo GPT-3 per generare testo coerente e di alta qualità a partire da un prompt. Mentre ChatGPT è stato progettato per generare conversazioni, Perplexity è stato progettato per generare testo in modo più generale, ad esempio per la generazione di testo creativo o la scrittura di articoli.
 
Top