Project

General

Profile

Évolution #700

Classes conteneurs 2D

Added by Abdelite over 9 years ago. Updated over 8 years ago.

Status:
Assigné
Priority:
Normal
Assignee:
Category:
Core
Target version:
Start date:
03/18/2011
Due date:
03/20/2011
% Done:

42%

Estimated time:
(Total: 0.00 h)
Spent time:
1.00 h (Total: 3.00 h)

Description

Deux classes conteneurs à type générique :
  • QExtend::List2D<T> => usage interne : QList<T> accès: y*largeur+x
  • QExtend::Vector2D<T> => usage interne : QVector<T> accès: y*largeur+x

Ces classes permettront de stockée et d'accéder aux données sous forme de tableau 2D. Les indices de recherches : y = ligne/row et x = colonne/column. Il y aura autant de lignes que de colonnes.

Les fonctionnalités de base :
  • Constructeur vide, pour 0 donné et aucune colonne et ligne.
  • Constructeur avec deux paramètres : nombre de ligne et de colonne, avec toujours 0 donné.
  • Rajouter une ligne et colonne.
  • Stocker tel objet à tel case.
  • Accéder à tel objet à tel case.

Les fonctionnalités avancés :


Subtasks

Tâche #1298: ArrayAssignégbdivers

Tâche #1299: GraphAssignégbdivers

Tâche #1300: TreeAssignégbdivers

Évolution #1301: QueueAssignégbdivers

Évolution #1302: Graph viewAssignégbdivers

Tâche #1303: tests, doc et démoAssignégbdivers

History

#1 Updated by gbdivers over 9 years ago

  • Tracker changed from Bogue to Évolution

#2 Updated by yan over 9 years ago

  • Assignee deleted (Abdelite)

#3 Updated by yan over 9 years ago

  • Status changed from Assigné to Nouveau
  • Target version deleted (Version 0.0.1)

#4 Updated by gbdivers over 9 years ago

Mettre les noms des fichiers en minuscule :
- src/core/Vector2D.hpp
- src/core/Vector2D.cpp

#5 Updated by Abdelite over 9 years ago

  • Assignee set to Abdelite

#6 Updated by gbdivers over 8 years ago

  • Status changed from Nouveau to Assigné
  • Assignee changed from Abdelite to gbdivers
  • Target version set to Version 0.0.2
  • % Done changed from 0 to 50

Je reprends, c'est du code que j'avais déjà.
Pour des raisons pratiques (pour éviter la confusion avec QVector2D), je renomme en StaticArray1D (identique à boost::array), StaticArray2D, StaticArray3D, DynamicArray1D (identique à std::vector ou QVector), DynamicArray2D et DynamicArray3D

J'ajoute également les conteneurs suivants : AdjacentTable, UnidirectionalGraph, BidirectionalGraph (version simplifié de boost::graph), PriorityQueue, Tree, BinaryTree, BinarySearchTree et MultiBinarySearchTree

Pour les graphs, j'ai également un wrapper pour les afficher dans QGraphics

Also available in: Atom PDF