Scusa la mia ignoranza ma cos'è un ADT personalizzato?Originariamente inviato da GliderKite
In effetti i vector sono piuttosto "lenti" cosi come tutti i contenitori della STL, questo perchè sono contenitori altamente generici e quindi poco efficienti per situazioni specifiche.
Ovviamente è possibile velocizzare il procedimento utilizzandoli nella maniera migliore possibile, quindi dovresti postare il codice, magari qualcuno può darti qualche dritta su come ottimizzare il codice.
Quando io ho avuto un problema simile ho risolto creandomi un ADT personalizzato sorprendendomi io stesso di come sia stato possibile ottenere qualcosa di molto vicino ai vector ma circa 9 volte più efficiente. L'unica cosa che ti posso consigliare e che se lo ritieni proprio necessario potresti provarci tu stesso.
Per quanto riguarda il codice di "accumulo" dati è semplicemente il seguente:
Tuttavia... via via che il vector si riempie... il programma rallenta enormemente mettendoci troppo tempo anche per una sola quartina... (infatti ogni quartina (2 mln ca in tutto) deve essere confrontata con 4000 righe ca di cinque numeri ciascuna (estrazioni) )codice:vector <int> ritardi; ritardi.push_back(ritardo);
stavo pensando che ad ogni confronto... potrei valutare sia il ritardo massimo che quello
ultimo... e modificare l'uno o l'altro a secondo i casi avendo sempre due dati nel vector ritardi e basta.. ma non saprei come procedere in tal senso... a messo sia un'idea valida e velocizzante...![]()
![]()