Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

ordinare una lista


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 15 risposta/e

#1
simply me

simply me

    Moderatore di sezione

  • Moderatore
  • 1527 Messaggi:
Ragazzi mi serve una mano su come riordinare una lista: praticamente io devo trovare una chiave nella lista sostituirla con una nuova chiave (e fin qui non ci sn problemi) ma poi mi ritrovo con una lista non ordinata. Mi date un aiuto su come riordinarla una volta effettuato il cambio di chiave?

Per esempio ho qst lista e devo cercare la chiave 1 sostituendola con 7:

1 3 4

una volta cercato 1 e avendo ftt la sostituzione la mia nuova lista sarà:

7 3 4

Ora non riesco a riordinarla (in ordine crescente) qualc1 può aiutarmi? Lo so sicuramente è facile ma mi sto inceppando :nono:

GRZ


Iscriviti su fb al gruppo "Adotta un cane, salvalo dalla strada", tanti cani ti aspettano.
L'odio verso gli animali è la sconfitta dell'intelligenza.
La grandezza di una nazione ed il suo progresso morale si possono giudicare dal modo in cui essa tratta gli animali

#2
ildiabolico

ildiabolico

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:
ad occhio dovresti controllare se l'elemento trovato è il primo o l'ultimo oppure sta in mezzo e poi aggiornare di conseguenza i link della lista con un while al cui interno per l'appunto aggiorni i link (se è doppiamente concatenata o meno ma vabè fa lo stesso) vedi se l'idea ti aiuta un pò XD
Rappresentante degli studenti al Consiglio Didattico di Ing. Informatica
Rappresentante degli studenti in Commissione Didattica di Ing. Informatica
Mail >> darioderosa89@gmail.com

#3
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:
Semplicemente:

1) ricerchi l'elemento nella lista con quella chiave, e lo estrai;
2) elimini l'elemento nella lista
3) inserisci nella lista l'elemento con la nuova chiave :D

Oppure, se sei masochista:

1) trovi l'elemento nella lista; durante la ricerca mantieni un puntatore al suo predecessore e un puntatore al suo successore (chiamiamoli prec e next)

2) modifichi la chiave dell'elemento cercato (e vabbè)

3) modifichi il successore di prec, in modo che sia next!

3.1) se la lista è doppiamente concatenata, fai lo stesso su next

4) inizi a scorrere la lista (dall'inizio oppure a partire da next, a seconda che nuovachiave > vecchiachiave o nuovachiave < vecchiachiave) proprio come un inserimento, e una volta trovato il punto dove inserire l'elemento, lo inserisci in lista...

In definitiva è molto, molto meglio la prima soluzione.
Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#4
simply me

simply me

    Moderatore di sezione

  • Moderatore
  • 1527 Messaggi:
Blackjack ti ringrazio ma nn credo posso usare i tuoi metodi il I xkè la traccia mi richiede di sostituire la chiave e il 2 xkè nn sn masochista :dentone: no skerzo la 2 xkè la ricerca mi viene già data è qll il problema...
Iscriviti su fb al gruppo "Adotta un cane, salvalo dalla strada", tanti cani ti aspettano.
L'odio verso gli animali è la sconfitta dell'intelligenza.
La grandezza di una nazione ed il suo progresso morale si possono giudicare dal modo in cui essa tratta gli animali

#5
Blackjack

Blackjack

    Moderatore globale

  • Moderatore
  • 2542 Messaggi:
a pensarci il primo metodo non lo puoi fare perchè la funzione di eliminazione dealloca il nodo, e questo non lo vogliamo...

e poi scusa non ho capito perchè non va bene il secondo metodo... :scratch: in pratica ricerchi l'elemento (senza usare la funzione di ricerca, ma nella tua funzione di cambiamento chiave stessa), una volta trovato aggiusti i puntatori (come nella funzione di eliminazione) e dopo cerchi la nuova posizione in cui inserire l'elemento con la chiave modificata...
Immagine inviata
Immagine inviata
Immagine inviata

"L'amore è la capacità di avvertire il simile nel dissimile"

#6
simply me

simply me

    Moderatore di sezione

  • Moderatore
  • 1527 Messaggi:
ce l'ho fatta grazie cmq a tutti ;) era na scemenza lo sapevo bastava sl pensarci 1 pò di + :)
Iscriviti su fb al gruppo "Adotta un cane, salvalo dalla strada", tanti cani ti aspettano.
L'odio verso gli animali è la sconfitta dell'intelligenza.
La grandezza di una nazione ed il suo progresso morale si possono giudicare dal modo in cui essa tratta gli animali

#7
dome88

dome88

    Advanced Member

  • Utente
  • StellaStellaStella
  • 113 Messaggi:
uhm questa funzione che hai postato simply, era uscita nell'ultimo scritto di ASD quello del 14 gennaio
Neanche io l'ho saputa fare allo scritto....mi devo mettere un pò a farla mi sà....è un buon esercizio :book:

#8
simply me

simply me

    Moderatore di sezione

  • Moderatore
  • 1527 Messaggi:
ben detto dome88 ben detto ora l'ho ftt ma è trpp tardi :laugh: ovviamente se ti serve una mano chiedi pure ;)
Iscriviti su fb al gruppo "Adotta un cane, salvalo dalla strada", tanti cani ti aspettano.
L'odio verso gli animali è la sconfitta dell'intelligenza.
La grandezza di una nazione ed il suo progresso morale si possono giudicare dal modo in cui essa tratta gli animali

#9
dome88

dome88

    Advanced Member

  • Utente
  • StellaStellaStella
  • 113 Messaggi:
Simply mi puoi dare qualche suggerimento che mi sto scervellando e non ci riesco :beg: :D

#10
dome88

dome88

    Advanced Member

  • Utente
  • StellaStellaStella
  • 113 Messaggi:
simply se ci sei batti un colpo! :D

#11
simply me

simply me

    Moderatore di sezione

  • Moderatore
  • 1527 Messaggi:
:bash: + colpo di così non si può dimmi pure...
Iscriviti su fb al gruppo "Adotta un cane, salvalo dalla strada", tanti cani ti aspettano.
L'odio verso gli animali è la sconfitta dell'intelligenza.
La grandezza di una nazione ed il suo progresso morale si possono giudicare dal modo in cui essa tratta gli animali

#12
dome88

dome88

    Advanced Member

  • Utente
  • StellaStellaStella
  • 113 Messaggi:
Se mi potresti dare qualche suggerimento su come fare questa funzione.... :beg:

#13
simply me

simply me

    Moderatore di sezione

  • Moderatore
  • 1527 Messaggi:
Certo (aspetta ke mi riprendo dal colpo...)... :asd: Dopo tnt scervellamento @.@: praticamente una volta trovato il nodo con chiave k1 ho eliminato (usando la delete) il nodo cn chiave k1, ho allocato lo spazio x 1 nuovo nodo dandogli come chiave k2 e l'ho inserito nella lista. Era l'unico modo che mi è venuto in mente (purtroppo non allo scritto :gha: )... sxo di esserti stata cmq d'aiuto.
p.s. sxiamo ke qst volta vada tt bene :beg:
Iscriviti su fb al gruppo "Adotta un cane, salvalo dalla strada", tanti cani ti aspettano.
L'odio verso gli animali è la sconfitta dell'intelligenza.
La grandezza di una nazione ed il suo progresso morale si possono giudicare dal modo in cui essa tratta gli animali

#14
dome88

dome88

    Advanced Member

  • Utente
  • StellaStellaStella
  • 113 Messaggi:
Grazie per il suggeriemento simply fingerup , così ci sono riuscito.....Ora vedremo per questo scritto 2...spero non usciranno cose strane!! :ciao:

#15
dome88

dome88

    Advanced Member

  • Utente
  • StellaStellaStella
  • 113 Messaggi:
Ma secondo te possono uscire pile, code o array dinamici?

#16
simply me

simply me

    Moderatore di sezione

  • Moderatore
  • 1527 Messaggi:
Di solito escono liste e alberi poi non so... :viaaa:
vabbè ma a livello di implementazioni non sono poi tnt complicate poi boh ogni esame è 1 mistero... :desert: :beg:
Iscriviti su fb al gruppo "Adotta un cane, salvalo dalla strada", tanti cani ti aspettano.
L'odio verso gli animali è la sconfitta dell'intelligenza.
La grandezza di una nazione ed il suo progresso morale si possono giudicare dal modo in cui essa tratta gli animali




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi