Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
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
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


Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
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 ...
Starship: SpaceX potrebbe tentare di rec...
Federico Veronesi vince i Wildlife Photo...
Samsung Galaxy bloccati dopo l'aggiornam...
L'UE prolunga il periodo di test del pro...
Offerte Amazon di oggi: e-bike da 616€, ...
La missione cino-europea ESA Smile ha in...
Cisco sulle tracce dell’IA nei malware: ...
Nuovo Codice della strada: stop alla PEC...
Blue Origin Constellation Park: un nuovo...
E-bike da 615€ su Amazon: Bodywel F20PRO...
Windows 11 24H2, stop al supporto per Ho...
Gemini 4 Argon disponibile per tutti: co...
Sony avrebbe chiuso Overdrive, lo store ...
Abbiamo scattato con OPPO Find X10 Pro M...
Fino a 21 miliardi per i chip americani:...
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: 02:22.


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