Classe cliste

Description

Cette classe est une classe template qui illustre l'utilisation des liste (algorithmes de tri...), quelles qu'elles soient.

Source / Exemple :


#pragma once

#include <windows.h>
#include "Fichier.h"

#define MIN(a,b)  ((a) > (b) ? (b) : (a))
#define MAX(a,b)  ((a) < (b) ? (b) : (a))

//Classe CListe
template <class TYPE> class CListe
{
protected:
	int m_iNbElements;
	TYPE* m_Element;

public:
	//Constructeurs et destructeur
	CListe(void);
	CListe(const CListe& refListe);
	CListe(const CListe* pListe);
	CListe(const TYPE& Element);
	CListe(const TYPE* pElement, int iNbElements);

	~CListe(void);

	//Surcharges d'opérateurs
	CListe operator=(const CListe& refListe);

	CListe operator+=(const CListe& refListe);
	CListe operator+(const CListe& refListe) const;

	CListe operator+(const TYPE& argElement) const;
	CListe operator-(const TYPE& argElement) const;
	CListe operator*(const TYPE& argElement) const;
	CListe operator/(const TYPE& argElement) const;

	TYPE operator[](const int iIndex) const;

	BOOL operator==(const CListe& refListe) const;
	BOOL operator!=(const CListe& refListe) const;

	operator const TYPE*() const;

	//usage
	TYPE Get(int iIndex) const;
	TYPE* Get(void) const;
	void Set(int iIndex, const TYPE& argElement);
	void Set(const TYPE* TabElements, int iNbElements);
	void Set(const CListe& refListe);
	void Reset(void);

	//Informations
	inline int GetTaille(void) const;
	TYPE GetMin(void) const;
	TYPE GetMax(void) const;
	TYPE GetSomme(void) const;

	//Opérations
	int IndexOf(const TYPE& argElement) const;
	int IndexOf(const TYPE* pargElement) const;
	void Ajoute(const TYPE& argElement);
	void Ajoute(const TYPE* pargElement);
	void Supprime(const int iIndex);
	void Insert(int iIndex, const TYPE& argElement);

	//tri
	void Inverse(void);
	void TriCroissant(void);
	void TriDecroissant(void);
	void Random(void);

	//sauvegarde et récupération
	BOOL SauverListe(const CChaine& strFichier);
	BOOL OuvrirListe(const CChaine& strFichier);
};

Conclusion :


Cette classe utilise la classe fichier que vous trouvrez sur le site.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.