erstellen einer kopie eines vektors der form vector<vector<int>>x
-
Danke jetzt funktioniert es !! vielen dank
-
Ein vector<vector> ist übrigens kein gutes Modell für die typischen Eigenschaften einer Matrix. vector<vector> ist viel zu allgemein.
-
vektoren haben flexible grösse , in meinem falle mache ich den clark and wright savings algorithmus damit und mit arrays fixer grösse hatte ich grosse schwierigkeiten da diese etwa beim einlesen vin koordinaten aus textdateien sich nicht autoamatisch der anzahl der eingelesenen kunden anpassen in meinem falle weiss ic nicht im vorhinein wieviele kunden aus der txt datei eingelesen werden, ein fixes array wäre in diesem falle dan einmal zu gross und einmal zu klein. in dem 1 jahr in dem ich jetzt mit c++ arbeite haben sich vektoren und der list container bestens bewährt, arrays fixer grösse haben sehr viele probleme..........
aber danke nochmals für die schnelle hilfe die ich immer in diesem forum finde und ein glückliches neues jahr !!!!
-
Kunden? Matrix? Entweder machst du wirklich abgefahrene Mathematik oder du nutzt den Begriff "Matrix" anders, als ich erwartet hatte.
-
am besten clark and wright savings algoritmus googeln das ist teil 1 des programmes
dann variable neigborhood search oder vns mit diesem algorithmus verbessere ich die ergebnisse und
simulated annealing ist auch dabei.lg
reinhold
-
siehe die klasse array_2d_t in
in https://www.c-plusplus.net/forum/327218-full
ist auch dynamisch aber viel schneller als dein std::vector<std::vector<int>>
falls du nicht viele unterschiedliche Datentypen hast
-
-
Gast3 schrieb:
siehe die klasse array_2d_t in
...
ist auch dynamisch aber viel schneller als dein std::vector<std::vector<int>>In wiefern soll das wirklich schneller sein? (wobei ich auch eher eindimensional das ganze abbilden würde, dafür kann man aber auch den vector nutzen, und einmal reserve machen).
-
asc schrieb:
Gast3 schrieb:
siehe die klasse array_2d_t in
...
ist auch dynamisch aber viel schneller als dein std::vector<std::vector<int>>In wiefern soll das wirklich schneller sein? (wobei ich auch eher eindimensional das ganze abbilden würde, dafür kann man aber auch den vector nutzen, und einmal reserve machen).
Eine Speicherallokation anstatt width Allokationen. Daten sind physisch näher zusammen, was becheres Caching bringt. Dadurch auch eine Indirektion weniger. etc.
-
Eine Speicherallokation anstatt width Allokationen. Daten sind physisch näher zusammen, was becheres Caching bringt. Dadurch auch eine Indirektion weniger. etc.
genau darum - klar gehts auch mit einen std::vector<int> als new ersatz - bisschen sauberer, und const correctness (fuer getter) wirkt hier teilweise auch wunder