Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
Abbiamo assemblato e provato la Fiido Nomads Pro, evoluzione del modello da trekking già presente nella gamma, che migliora in tutto, soprattutto grazie al motore centrale, fluido e potente. Ottima app, costruzione solida e prezzo ok completano il quadro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-09-2008, 22:49   #1
bulmachan
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 7
[C++] std::vector e std::list

Scusate la domanda che per molti può sembrare un'eresia, quali sono i casi in cui è meglio (o più appropriato) utilizzare std::vector piuttosto che std::list? Proprio non ci arrivo
Nella mia ingenuità pensavo che con std::vector bisognasse definire una dimensione massima predefinita (quindi più di un tot push_back non si possono fare causa overflow, mi viene da assciare vector agli array, quindi se ho un array che può contenere al più 10 elementi non posso mettercene 11), mentre con list il problema non si pone (associo list all'idea di qualcosa di dimanico).
Se v è definito come std::vector<int> v; e riempio il vettore di valori,
Codice:
for (int i = 0; i < n; ++i)
    std::cout << v[i] << std::endl;
  return 0;
mi stampa i valori in esso contenuti, quindi posso accedere agli elemento iesimo con v[i].

Se l è la mia lista std::list<int> l;
Codice:
for(list<int>::iterator ai=l.begin(); ai!=l.end(); ++ai)
cicla dal primo all'ultimo elemento.
Come faccio limitare il mio for partendo dall'elemento jesimo e arrivando solo al kesimo?
Grazie in anticipo.
bulmachan è offline   Rispondi citando il messaggio o parte di esso
Old 12-09-2008, 23:56   #2
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Non puoi in maniera semplice mi sa... nelle liste gli elementi non hanno una posizione assoluta, ma solo relativa al vicino.
Per cui da begin devi iterare saltando gli elementi fino a J, e quindi iterare come vuoi fino a K.

Cmq pare che le liste siano da preferire in casi di massicci inserimenti e rimozioni, dato che possono eseguirle in tempo costante; i vettori invece sono più veloci nell'essere iterati, penso.
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2008, 21:16   #3
bulmachan
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 7
Ok, grazie.
Io devo fare un inserimento di tutti quanti gli elementi quando inizializzo (leggendo i dati a file) e poi devo fare dei gran cicli (ad essere precisi applicare un algoritmo ricorsivo divide et impera), nessuna ricerca in base ad un indice, ma solo sulla posizione dell'elemento ne eliminazioni. Quindi in effetti sono meglio i vector.
Mi puoi confermare che con i vector non ho problemi di overflow e quindi non sono "analoghi" agli array su questo aspetto? Non posso ipotizzare a priori la dimensione massima dei dati da inserire e voglio evitare realloc (stavo appunto ipotizzando di usare liste (o vettori) proprpio x questo).
Oppure mi consigliate strutture dati alternative?

Tnk!

Ultima modifica di bulmachan : 18-09-2008 alle 21:19.
bulmachan è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2008, 11:15   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da bulmachan Guarda i messaggi
Ok, grazie.
Io devo fare un inserimento di tutti quanti gli elementi quando inizializzo (leggendo i dati a file) e poi devo fare dei gran cicli (ad essere precisi applicare un algoritmo ricorsivo divide et impera), nessuna ricerca in base ad un indice, ma solo sulla posizione dell'elemento ne eliminazioni. Quindi in effetti sono meglio i vector.
Se non utilizzassi list o vector, utilizzeresti una lista ? Se la risposta è sì allora ti va bene list, altrimenti ti va bene vector.
Quote:
Originariamente inviato da bulmachan Guarda i messaggi
Mi puoi confermare che con i vector non ho problemi di overflow e quindi non sono "analoghi" agli array su questo aspetto? Non posso ipotizzare a priori la dimensione massima dei dati da inserire e voglio evitare realloc (stavo appunto ipotizzando di usare liste (o vettori) proprpio x questo).
Non hai problemi di questo tipo. Tu continui ad usare il metodo push_back e lui ti mette l'elemento in fondo al vettore e te lo allarga automaticamente.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2008, 18:15   #5
bulmachan
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 7
Quote:
Originariamente inviato da cionci Guarda i messaggi
Se non utilizzassi list o vector, utilizzeresti una lista ? Se la risposta è sì allora ti va bene list, altrimenti ti va bene vector.
Il mio dubbio deriva proprio da questo, userei le liste e non l'array perchè non so a priori la quantità di dati e non voglio effettuare delle realloc (sono troppo onerose), questo ragionamento mi poratava ad utilizzare list, ma se invece ragiono sul tipo di perazioni che effettuerei (applicazione di un algortimo divide et impera su sottosegmenti della mia struttura dati) mi verrebbe da preferire i vector.

Grazie per la precisazione
bulmachan è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2008, 07:08   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Non fare un discorso specifico del linguaggio, ma fanne una questione algoritmica. In quell'algoritmo utilizzeresti liste o vettori ?
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare MSI PRO MAX: QD-OLED ultrawide per lavorare, cre...
Anthropic avverte: i worm AI decentraliz...
La Svezia riscopre il contante: pagament...
Mercato smartphone: vendite in calo del ...
NASA Perseverance stabilisce un nuovo re...
Frontech chiude il terzo ciclo di accele...
70mai A900 e A900 Ultra in prova: le nuo...
Ninja CRISPi a 99,99€ su Amazon: la frig...
Amazon supera il milione di robot nei ma...
Microsoft ufficializza Xbox Labs, il nuo...
Perché prendo sul serio il paper ...
Apple Watch SE 3 a 219€ su Amazon: displ...
GTA VI potrebbe arrivare su PC molto pri...
Windows 10, il Patch Tuesday di ottobre ...
Arm condannata a pagare a Qualcomm... 2 ...
tado° in offerta su Amazon: valvole ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:27.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v