Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Welcher Container

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
15.03.2009, 11:09 Uhr
~lksms
Gast


Hallo,

ich bin mir nicht sicher welchen Container ich benutzen soll... Vielleicht kann mir ja jemand helfen.


Ich habe eine Liste (list/vector/deque/...) von Elementen.

Diese wird per Iterator geteilt. D.H. ich habe ein paar Iteratoren die in die Liste reinzeigen und Anfangspunkte oder Endpunkte verschiedener Bereiche markieren.

Einzelne Elemente müssen immer wieder aus einem Bereich in einen anderen verschoben werden.


Ein Beispiel

Code:
1    < Start Bereich 1
2
3
4
5    < Start Bereich 2 (und Ende Bereich 1)
6
7
8
9
10
11
12
13   < Start Bereich 3 (und Ende Bereich 2)
14
15
16
17
18
19
20
< Ende Bereich 3 (= Ende der Liste)



Jeweils der Beginn eines Bereiches soll nun also durch einen Iterator gekennzeichnet werden.

Im Beispiel soll jetzt ein beliebiges Element (z.B. 8) an den Anfang des nächsten Bereiches verschoben werden.
Das sieht dann so aus: ...,6,7,9,10,11,12,8,13,14,...

Der Bereich 3 soll nun also bei der 8 beginnen.


Welcher Container ist für so eine Aufgabe?
Hat jemand eine bessere Idee um eine Liste so zu unterteilen wie ich?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.03.2009, 22:18 Uhr
0xdeadbeef
Gott
(Operator)


Da bietet sich std::list an, weil der in O(1) ausschneiden und einfügen kann. std::vector und std::deque wären die ganze Zeit mit Hin- und Herkopieren beschäftigt und fräßen stumpf zuviel Zeit.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: