Sign in Join
Wiki copytemporary

Data Structures, Containers, Collections/fr: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1+## Contents
2+
3+ * 1 Introduction
4+ * 2 Bibliothèque d'exécution (RTL)
5+ * 3 Libraire de composants libre (FCL)
6+ * 3.1 FCL-Base
7+ * 3.2 FCL-STL
8+ * 4 Lazarus/LCL
9+ * 5 3rd party
10+
111## Introduction
212
3-La plupart des programmes travaillent sur des données, soit en cherchant, en triant, en itérant ou simplement en insérant ou en récupérant. Par conséquent, des moyens de structurer les données, tels les conteneurs et les collections, sont nécessaires.
13+La plupart des programmes travaillent sur des données, soit en cherchant, en triant, en itérant ou simplement en insérant ou en récupérant. Par conséquent, des moyens de structurer les données, tels les conteneurs et les collections, sont nécessaires.
414
5-Free Pascal est fourni avec de nombreuses structures de données opérant à différents niveaux (RTL, FCL). Il existe par ailleurs des solutions de parties tierces offrant de telles caractéristiques.
15+Free Pascal est fourni avec de nombreuses structures de données opérant à différents niveaux (RTL, FCL). Il existe par ailleurs des solutions de parties tierces offrant de telles caractéristiques.
616
717## [[RTL|Bibliothèque d'exécution (RTL)]]
818
9-- Unité [[Classes/fr|Classes]]
10- - [[TList/fr|TList]]: : gère une liste de pointeurs ; peut chercher et trier la liste ; possède une caractéristique de notification d'événement.
11- - [[TFPList/fr|TFPList]] : gère une liste de pointeurs ; peut chercher et trier la liste ; n'a pas de notification d'événement ; plus rapide que **TList**.
12- - [[TStrings/fr|TStrings]] : gère une liste de chaînes ; peut chercher, sectionner, sauver vers / charger depuis un fichier, stocker des objets, agir comme un tableau associatif, etc. ; est une classe abstraite.
13- - [[TStringList/fr|TStringList]] : descendant de **TStrings** ; implémente les méthodes abstraites de **TStrings** ; peut chercher, trier, manipuler les doublons ; possède une caractéristique de notification ; c'est un classe concrète.
14- - [[TBits/fr|TBits]] : gère une liste de bits (0 or 1) ; utile pour les mappage de bits (pas les pour les formats d'image).
15- - [[TCollection/fr|TCollection]] et **TCollectionItem** : forment une gestion de base d'articles nommés.
16-- [[Generics/fr|FGL (Free Generics Library)]] [[fgl unit/fr|unité]]
17- - [[TFPGList/fr|TFPGList]]
18- - [[TFPGObjectList/fr|TFPGObjectList]]
19- - [[TFPGInterfacedObjectList/fr|TFPGInterfacedObjectList]]
20- - [[TFPGMap/fr|TFPGMap]]
21- - [[TFPGMapInterfacedObjectData/fr|TFPGMapInterfacedObjectData]]
19+ * Unité [Classes](</index.php?title=Classes/fr&action=edit&redlink=1> "Classes/fr \(page does not exist\)")
20+ * [TList](</index.php?title=TList/fr&action=edit&redlink=1> "TList/fr \(page does not exist\)"): : gère une liste de pointeurs ; peut chercher et trier la liste ; possède une caractéristique de notification d'événement.
21+ * [TFPList](</index.php?title=TFPList/fr&action=edit&redlink=1> "TFPList/fr \(page does not exist\)") : gère une liste de pointeurs ; peut chercher et trier la liste ; n'a pas de notification d'événement ; plus rapide que **TList**.
22+ * [TStrings](</index.php?title=TStrings/fr&action=edit&redlink=1> "TStrings/fr \(page does not exist\)") : gère une liste de chaînes ; peut chercher, sectionner, sauver vers / charger depuis un fichier, stocker des objets, agir comme un tableau associatif, etc. ; est une classe abstraite.
23+ * [TStringList](</index.php?title=TStringList/fr&action=edit&redlink=1> "TStringList/fr \(page does not exist\)") : descendant de **TStrings** ; implémente les méthodes abstraites de **TStrings** ; peut chercher, trier, manipuler les doublons ; possède une caractéristique de notification ; c'est un classe concrète.
24+ * [TBits](</index.php?title=TBits/fr&action=edit&redlink=1> "TBits/fr \(page does not exist\)") : gère une liste de bits (0 or 1) ; utile pour les mappage de bits (pas les pour les formats d'image).
25+ * [[TCollection/fr|TCollection]] et **TCollectionItem** : forment une gestion de base d'articles nommés.
26+ * [[Generics/fr|FGL (Free Generics Library)]] [unité](</index.php?title=fgl_unit/fr&action=edit&redlink=1> "fgl unit/fr \(page does not exist\)")
27+ * [TFPGList](</index.php?title=TFPGList/fr&action=edit&redlink=1> "TFPGList/fr \(page does not exist\)")
28+ * [TFPGObjectList](</index.php?title=TFPGObjectList/fr&action=edit&redlink=1> "TFPGObjectList/fr \(page does not exist\)")
29+ * [TFPGInterfacedObjectList](</index.php?title=TFPGInterfacedObjectList/fr&action=edit&redlink=1> "TFPGInterfacedObjectList/fr \(page does not exist\)")
30+ * [TFPGMap](</index.php?title=TFPGMap/fr&action=edit&redlink=1> "TFPGMap/fr \(page does not exist\)")
31+ * [TFPGMapInterfacedObjectData](</index.php?title=TFPGMapInterfacedObjectData/fr&action=edit&redlink=1> "TFPGMapInterfacedObjectData/fr \(page does not exist\)")
2232
2333## [[FCL/fr|Libraire de composants libre (FCL)]]
2434
2535### FCL-Base
2636
27-- unité AVL_Tree
28- - TAVLTree et TAVLTreeNode; voir [[AVL Tree/fr|AVL Tree]]
29-- Unité Contnrs
30- - TFPObjectList
31- - TObjectList
32- - TComponentList
33- - TClassList
34- - TOrderedList
35- - TStack
36- - TObjectStack
37- - TQueue
38- - TObjectQueue
39- - TFPHashList
40- - TFPHashObjectList
41- - TFPDataHashTable
42- - TFPStringHashTable
43- - TFPObjectHashTable
44- - TBucketList
45- - TObjectBucketList
37+ * unité AVL_Tree
38+ * TAVLTree et TAVLTreeNode; voir [AVL Tree](</index.php?title=AVL_Tree/fr&action=edit&redlink=1> "AVL Tree/fr \(page does not exist\)")
39+ * Unité Contnrs
40+ * TFPObjectList
41+ * TObjectList
42+ * TComponentList
43+ * TClassList
44+ * TOrderedList
45+ * TStack
46+ * TObjectStack
47+ * TQueue
48+ * TObjectQueue
49+ * TFPHashList
50+ * TFPHashObjectList
51+ * TFPDataHashTable
52+ * TFPStringHashTable
53+ * TFPObjectHashTable
54+ * TBucketList
55+ * TObjectBucketList
4656
4757### FCL-STL
4858
49-- GVector unit
50- - TVector: Implements dynamically self-resizing array, item order is based on insertion order
51-- GSet unit
52- - TSet: Implements red-black tree backed set, no order is guaranteed
53-- GHashSet unit
54- - THashSet: Implements hashtable backed set, no order is guaranteed
55-- GStack unit
56- - TStack: Implements stack, LIFO (last in first out) order
57-- GQueue unit
58- - TQueue: Implements stack, items are pushed from front, FIFO (first in first out) order
59-- GPriorityQueue unit
60- - TPriorityQueue: Implements heap backed priority queue, order is based on given compare function
61-- GDeQue unit
62- - TDeque: Implements double ended queue, items can be pushed and popped from either front or back
63-- GMap unit
64- - TMap: Implements TSet (and therefore, red-black tree) backed map
65-- GHashMap unit
66- - THashMap: Implements hashtable backed map
67-- GTree unit
68- - TTree: Implements k-ary tree, supports depth first and breadth first traversal
59+ * GVector unit
60+ * TVector: Implements dynamically self-resizing array, item order is based on insertion order
61+ * GSet unit
62+ * TSet: Implements red-black tree backed set, no order is guaranteed
63+ * GHashSet unit
64+ * THashSet: Implements hashtable backed set, no order is guaranteed
65+ * GStack unit
66+ * TStack: Implements stack, LIFO (last in first out) order
67+ * GQueue unit
68+ * TQueue: Implements stack, items are pushed from front, FIFO (first in first out) order
69+ * GPriorityQueue unit
70+ * TPriorityQueue: Implements heap backed priority queue, order is based on given compare function
71+ * GDeQue unit
72+ * TDeque: Implements double ended queue, items can be pushed and popped from either front or back
73+ * GMap unit
74+ * TMap: Implements TSet (and therefore, red-black tree) backed map
75+ * GHashMap unit
76+ * THashMap: Implements hashtable backed map
77+ * GTree unit
78+ * TTree: Implements k-ary tree, supports depth first and breadth first traversal
6979
7080## Lazarus/LCL
7181
72-- AvgLvlTree: Versions étendues de FPC/FCL TAVLTree et TAVLTreeNode; voir [[AVL Tree]]
82+ * AvgLvlTree: Versions étendues de FPC/FCL TAVLTree et TAVLTreeNode; voir [[AVL Tree]]
7383
7484## 3rd party
7585
76-| project | license | generic | types | notes |
77-|----|----|----|----|----|
78-| [Containers library for Lazarus](https://github.com/CynicRus/CL4L) | ?? | Non | \| al,rb,hm,hs,ll,q,s,v | portage de Container, bibliothèque Delphi du domaine public |
79-| [heContnrs](http://code.google.com/p/fprb/wiki/heContnrs) | BSD3 | Oui | \| ... | ... |
80-| [Fundamentals](http://fundementals.sourceforge.net/) | BSD | Non | \| ... | dans Utils/cDataStructs.pas |
81-| [RBS AntiDOT](http://sourceforge.net/projects/adot/) | GPLv2 | ?? | \| ... | ... |
82-| [LightContainers](http://www.stack.nl/~marcov/lightcontainers.zip) | FPC | Non+Oui | \| ... | Variantes génériques et non-génériques. (Delphi n'optimise pas les génériques). Plutôt de bas-niveau |
83-| [DeCAL](http://svn.freepascal.org/svn/fpcprojects/contrib/decal/) | MPL | Non | \| ... | [browse](http://svn.freepascal.org/cgi-bin/viewvc.cgi/contrib/decal/?root=fpcprojects) variantes + interfaces, relativement lent. |
84-| [hovadur DeCAL](https://bitbucket.org/hovadur/decal) | MPL | Non | \| al, as, ll, rb, hm, hs, tm, ts, bs | [guide.pdf](https://bitbucket.org/hovadur/decal/src/b0649ae41d228c9b8878be9aab958ce779044d48/guide.pdf?at=default) DeCAL fonctionne dans Lazarus (windows 64 bit/32 bit, linux 64 bit/32 bit) and Delphi7, Delphi XE2. |
85-| [[StringHashMap]] | MPL1.0 | ?? | \| ... | portage de code de la JCL |
86-| [GContnrs](http://yann.merignac.free.fr/unit-gcontnrs.html) | LGPLv2 + linking exception | Oui | \| v, hm, hs, ll, q, dq, s, ts, tm, bs | ... |
87-| [CL4fpc](https://sourceforge.net/projects/cl4fpc/) | GPLv2 | Oui | \| ... | ... |
88-
89-| code | data type |
90-|------|----------------|
91-| al | array list |
92-| as | array set |
93-| rb | red-black tree |
94-| hm | hashmap |
95-| hs | hashset |
96-| ll | linked list |
97-| q | queue |
98-| dq | dequeue |
99-| s | stack |
100-| v | vector |
101-| tm | treemap |
102-| ts | treeset |
103-| bs | bitset |
104-| | |
86+project | license | generic | types | notes
87+---|---|---|---|---
88+[Containers library for Lazarus](<https://github.com/CynicRus/CL4L>) | ?? | Non | al,rb,hm,hs,ll,q,s,v | portage de Container, bibliothèque Delphi du domaine public
89+[heContnrs](<http://code.google.com/p/fprb/wiki/heContnrs>) | BSD3 | Oui | ... | ...
90+[Fundamentals](<http://fundementals.sourceforge.net/>) | BSD | Non | ... | dans Utils/cDataStructs.pas
91+[RBS AntiDOT](<http://sourceforge.net/projects/adot/>) | GPLv2 | ?? | ... | ...
92+[LightContainers](<http://www.stack.nl/~marcov/lightcontainers.zip>) | FPC | Non+Oui | ... | Variantes génériques et non-génériques. (Delphi n'optimise pas les génériques). Plutôt de bas-niveau
93+[DeCAL](<http://svn.freepascal.org/svn/fpcprojects/contrib/decal/>) | MPL | Non | ... | [browse](<http://svn.freepascal.org/cgi-bin/viewvc.cgi/contrib/decal/?root=fpcprojects>) variantes + interfaces, relativement lent.
94+[hovadur DeCAL](<https://bitbucket.org/hovadur/decal>) | MPL | Non | al, as, ll, rb, hm, hs, tm, ts, bs | [guide.pdf](<https://bitbucket.org/hovadur/decal/src/b0649ae41d228c9b8878be9aab958ce779044d48/guide.pdf?at=default>) DeCAL fonctionne dans Lazarus (windows 64 bit/32 bit, linux 64 bit/32 bit) and Delphi7, Delphi XE2.
95+[[StringHashMap]] | MPL1.0 | ?? | ... | portage de code de la JCL
96+[GContnrs](<http://yann.merignac.free.fr/unit-gcontnrs.html>) | LGPLv2 + linking exception | Oui | v, hm, hs, ll, q, dq, s, ts, tm, bs | ...
97+[CL4fpc](<https://sourceforge.net/projects/cl4fpc/>) | GPLv2 | Oui | ... | ...
98+code | data type
99+---|---
100+al | array list
101+as | array set
102+rb | red-black tree
103+hm | hashmap
104+hs | hashset
105+ll | linked list
106+q | queue
107+dq | dequeue
108+s | stack
109+v | vector
110+tm | treemap
111+ts | treeset
112+bs | bitset
105113
106114---
107-*From the Free Pascal wiki, page "Data Structures, Containers, Collections/fr", as it stood on 2017-10-16 after a change by E-ric, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
108-Category: Collections/fr
109-Category: Containers/fr
110-Category: Data Structures/fr
111-Category: FCL/fr
112-Category: LCL/fr
113-Category: RTL/fr
115+*From the Free Pascal wiki, page "Data Structures, Containers, Collections/fr", as the Internet Archive kept it on 2022-10-01. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history