al minuto 7:00 dici che il return darà la posizione del nodo cercato, ma quando poi utilizzi la funzione ricerca ,semplicemente stampiamo il dato che è presente nella lista, non è possibile stampare la posizione in cui si trova il dato cercato nella lista?
Ciao! Dunque di default non esiste un indice che mi indica la posizione di un nodo. Però puoi modificare così la funzione: int ricerca(....) { int posizione = 0; while (....) { cursore = ..... posizione++; } return posizione; Ovviamente anche la chiamata sarà diversa perchè in questo caso ritorni un intero Fammi sapere se ti torna😉
Ciao! Ottimo video, ma vorrei chiederti una cosa se possibile: Quando nel main chiamiamo stampaLista(testa), nella funzione stampaLista viene creato un nuovo puntatore chiamato "cursore" che punta allo stesso indirizzo di "testa"? Oppure nella funzione stampaLista stiamo usando per scorrere, e quindi modificando, direttamente il puntatore alla testa della lista? Perché, se fosse come nel secondo caso, alla fine di stampaLista il puntatore "testa" dovrebbe puntare all'ultimo elemento o sbaglio? Grazie mille per la risposta
Ciao! Mh che strano, il resto del codice è corretto? Se non riesci a venirne a capo scrivimi pure su Instagram e mandami il codice così gli do un occhio!
Ma nella funzione ricerca, ritornando la posizione dell'oggetto da cercare non siamo sempre in grado di determinare se l'oggetto da cercare è sempre presente. Per esempio se l'oggetto da cercare non è presente nella lista, la funzione ritornerà la posizione dell'ultimo elemento della lista, che non è l'elemento che vogliamo. Secondo me sarebbe meglio ritornare un int (0 o 1) in modo da verificare se l'elemento è presente nella lista oppure no. Se sbaglio scusa per l'ignoranza.
Ciao! Corretto, la funzione implementata è molto basilare e non tiene conto dei casi limite. Può essere sistemata in diversi modi ma volevo dare un’idea dì base di come creare un algoritmo per la ricerca
continua cosi sei un grande
Grazie di cuore❤️
al minuto 7:00 dici che il return darà la posizione del nodo cercato, ma quando poi utilizzi la funzione ricerca ,semplicemente stampiamo il dato che è presente nella lista, non è possibile stampare la posizione in cui si trova il dato cercato nella lista?
Ciao! Dunque di default non esiste un indice che mi indica la posizione di un nodo. Però puoi modificare così la funzione:
int ricerca(....) {
int posizione = 0;
while (....) {
cursore = .....
posizione++;
}
return posizione;
Ovviamente anche la chiamata sarà diversa perchè in questo caso ritorni un intero
Fammi sapere se ti torna😉
Ciao! Ottimo video, ma vorrei chiederti una cosa se possibile:
Quando nel main chiamiamo stampaLista(testa), nella funzione stampaLista viene creato un nuovo puntatore chiamato "cursore" che punta allo stesso indirizzo di "testa"? Oppure nella funzione stampaLista stiamo usando per scorrere, e quindi modificando, direttamente il puntatore alla testa della lista? Perché, se fosse come nel secondo caso, alla fine di stampaLista il puntatore "testa" dovrebbe puntare all'ultimo elemento o sbaglio? Grazie mille per la risposta
Ciao! Esatto, creo un nuovo puntatore "cursore" per scorrere la lista senza avere effetti collaterali a "testa"
a me non stampa il dato da ricercare e non capisco qual'è il problema.
io ho fatto printf("%d", ricerca(testa, 5)->dato); ma non va
Ciao! Mh che strano, il resto del codice è corretto? Se non riesci a venirne a capo scrivimi pure su Instagram e mandami il codice così gli do un occhio!
Ma nella funzione ricerca, ritornando la posizione dell'oggetto da cercare non siamo sempre in grado di determinare se l'oggetto da cercare è sempre presente.
Per esempio se l'oggetto da cercare non è presente nella lista, la funzione ritornerà la posizione dell'ultimo elemento della lista, che non è l'elemento che vogliamo.
Secondo me sarebbe meglio ritornare un int (0 o 1) in modo da verificare se l'elemento è presente nella lista oppure no.
Se sbaglio scusa per l'ignoranza.
Ciao! Corretto, la funzione implementata è molto basilare e non tiene conto dei casi limite. Può essere sistemata in diversi modi ma volevo dare un’idea dì base di come creare un algoritmo per la ricerca