begin process at 2008 07 19 09:16:42
1 212 728 membres
67 nouveaux aujourd'hui
14 165 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

NLIST ( TEMPLATE )


Information sur la source

Catégorie :Divers Classé sous : template, liste, simple, chaîné, générique Niveau : Initié Date de création : 09/08/2003 Date de mise à jour : 18/05/2007 01:56:45 Vu / téléchargé: 2 523 / 60

Note :
6 / 10 - par 1 personne
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

Description

Une simple petite class template. Je n'avait jamais codé de template en C++ et maintenant j'en ai fait un alors le voilà! C'est très simple, il y à des commentaires partout ;) Je vous laisse avec le source && @++;

Source

  • Voilà le contenue du fichier main.cpp(l'exemple d'utilisation)
  • #include <iostream.h>
  • #include <string.h>
  • #include <windows.h>
  • #include "nlist.h"
  • int main()
  • {
  • // Pour calculer le temp d'exécution ...
  • DWORD dwStart = 0;
  • DWORD dwEnd = 0;
  • // utilisé pour lister les éléments de la liste
  • int i = 0;
  • // instancie notre class, dans l'exemple, j'utilise des char*
  • // et limite la taille de la liste à 4 éléments
  • // plist est maintenant notre nouvelle instance(copie) de NList
  • // Une liste de char* limité à 4 éléments maximum
  • //
  • // Démarre le calcule du temp d'exécution à partir de l'instanciation
  • dwStart = GetTickCount();
  • NList<char*, 4> plist;
  • // ajoute des éléments dans la liste
  • plist.AddItem("NitRic\0");
  • plist.AddItem("WebSoftDev\0");
  • plist.AddItem("Web Software Development Inc.\0");
  • plist.AddItem("All Rights Reserved © 2003 WebSoftDev Inc.\0");
  • cout << "Listing des elements:\n";
  • // liste tous les éléments de la liste
  • for ( i = plist.begin(); i <= plist.end(); i++ ) {
  • cout << i << " - " << (char*)plist.GetItem(i) << "\n";
  • }
  • /* c'est une autre facon de lister ;)
  • cout << (char*)plist.GetItem(0) << "\n";
  • cout << (char*)plist.GetItem(1) << "\n";
  • cout << (char*)plist.GetItem(2) << "\n";
  • cout << (char*)plist.GetItem(3) << "\n";
  • */
  • // Notre liste, c'est une liste de char*, donc pour connaître la longueur d'un élément
  • // on utilise strlen() pour des chaines
  • cout << "\nLongueur de l'element 0: " << strlen(plist.GetItem(0)) << " caractere(s)\n";
  • // affiche le nombre d'élément dans la liste
  • cout << "Nombre d'elements dans la liste: " << plist.end() << "\n";
  • // trouve l'index d'un élément X
  • cout << "L'index de l'element 'WebSoftDev' est: " << plist.GetIndex("WebSoftDev\0") << "\n";
  • cout << "Nombre d'element apres suppression de l'element 1: ";
  • // supprime un élément de la liste
  • plist.RemoveItem(1);
  • // affiche le nombre d'éléments de la liste
  • cout << plist.end() << "\n";
  • // affiche le contenue de l'élément 1
  • cout << "L'element 1 est maintenant: " << plist.GetItem(1) << "\n";
  • cout << "Ajout d'un item a l'emplacement 1\n";
  • // ajout un élément à la position 1 dans la liste
  • plist.AddItem("New Item\0", 1);
  • cout << "\nListing des elements:\n";
  • // refait un listing des éléments de la liste
  • plist.MoveTo(0); // Ou, plist.MoveFirst();
  • do {
  • cout << plist.GetIndex() << " - " << (char*)plist.GetItem() << "\n";
  • } while ( plist.MoveNext() != -1 );
  • /*
  • for ( i = plist.begin(); i <= plist.end(); i++ ) {
  • cout << i << " - " << (char*)plist.GetItem(i) << "\n";
  • }
  • */
  • /* même chose que plus haut ...
  • cout << (char*)plist.GetItem(0) << "\n";
  • cout << (char*)plist.GetItem(1) << "\n";
  • cout << (char*)plist.GetItem(2) << "\n";
  • cout << (char*)plist.GetItem(3) << "\n";
  • */
  • // comparer 2 éléments ...
  • cout << "\nL'element 1 est identique a l'element 2?: " << plist.compare(plist.GetItem(0), plist.GetItem(1)) << "\n";
  • cout << "L'element 1 est identique a l'element 1?: " << plist.compare(plist.GetItem(1), plist.GetItem(1)) << "\n";
  • cout << "\n";
  • // vide la liste, c'est optionnel, si vous ne la vider pas, elle ce videra elle même ...
  • //cout << plist.MoveFirst() << "\n"; // pour des testes seulement mais fonctionnel
  • //cout << plist.MoveLast() << "\n"; // pour des testes seulement mais fonctionnel
  • plist.Empty();
  • dwEnd = GetTickCount();
  • // Affiche le temp d'exécution total à l'écran
  • cout << "Temp d'execution total: " << (dwEnd-dwStart) << " milli sec\n\n";
  • // le programme c'est bien terminé alors on renvoie 0
  • return EXIT_SUCCESS;
  • }
  • Note: Le fichier "nlist.h" ne contient absolument aucun .h, il n'y à aucun include ...
  • Sur mon PC(AMD K7 550 mhz avec 256 de ram et plus de 350 mo d'utilisé ;)) le temp d'exécution est de 0.00 milli sec ...
Voilà le contenue du fichier   main.cpp(l'exemple d'utilisation)


#include <iostream.h>
#include <string.h>
#include <windows.h>
#include "nlist.h"

int main()
{

// Pour calculer le temp d'exécution ...
DWORD dwStart = 0;
DWORD dwEnd = 0;

// utilisé pour lister les éléments de la liste
int i = 0;
// instancie notre class, dans l'exemple, j'utilise des char*
// et limite la taille de la liste à 4 éléments
// plist est maintenant notre nouvelle instance(copie) de NList
// Une liste de char* limité à 4 éléments maximum
//
// Démarre le calcule du temp d'exécution à partir de l'instanciation
dwStart = GetTickCount();
NList<char*, 4> plist;

	// ajoute des éléments dans la liste
	plist.AddItem("NitRic\0");
	plist.AddItem("WebSoftDev\0");
	plist.AddItem("Web Software Development Inc.\0");
	plist.AddItem("All Rights Reserved © 2003 WebSoftDev Inc.\0");

	cout << "Listing des elements:\n";
	// liste tous les éléments de la liste
	for ( i = plist.begin(); i <= plist.end(); i++ ) {
		cout << i << " - " << (char*)plist.GetItem(i) << "\n";
	}
	/* c'est une autre facon de lister ;)
	cout << (char*)plist.GetItem(0) << "\n";
	cout << (char*)plist.GetItem(1) << "\n";
	cout << (char*)plist.GetItem(2) << "\n";
	cout << (char*)plist.GetItem(3) << "\n";
	*/
	// Notre liste, c'est une liste de char*, donc pour connaître la longueur d'un élément
	// on utilise strlen() pour des chaines
	cout << "\nLongueur de l'element 0: " << strlen(plist.GetItem(0)) << " caractere(s)\n";
	// affiche le nombre d'élément dans la liste
	cout << "Nombre d'elements dans la liste: " << plist.end() << "\n";
	// trouve l'index d'un élément X
	cout << "L'index de l'element 'WebSoftDev' est: " << plist.GetIndex("WebSoftDev\0") << "\n";
	cout << "Nombre d'element apres suppression de l'element 1: ";
	// supprime un élément de la liste
	plist.RemoveItem(1);
	// affiche le nombre d'éléments de la liste
	cout << plist.end() << "\n";
	// affiche le contenue de l'élément 1
	cout << "L'element 1 est maintenant: " << plist.GetItem(1) << "\n";
	cout << "Ajout d'un item a l'emplacement 1\n";
	// ajout un élément à la position 1 dans la liste
	plist.AddItem("New Item\0", 1);
	cout << "\nListing des elements:\n";
	// refait un listing des éléments de la liste
	plist.MoveTo(0);  // Ou, plist.MoveFirst();
	do {
		cout << plist.GetIndex() << " - " << (char*)plist.GetItem() << "\n";
	} while ( plist.MoveNext() != -1 );
	/*
	for ( i = plist.begin(); i <= plist.end(); i++ ) {
		cout << i << " - " << (char*)plist.GetItem(i) << "\n";
	}
	*/
	/* même chose que plus haut ...
	cout << (char*)plist.GetItem(0) << "\n";
	cout << (char*)plist.GetItem(1) << "\n";
	cout << (char*)plist.GetItem(2) << "\n";
	cout << (char*)plist.GetItem(3) << "\n";
	*/
	// comparer 2 éléments ...
	cout << "\nL'element 1 est identique a l'element 2?: " << plist.compare(plist.GetItem(0), plist.GetItem(1)) << "\n";
	cout << "L'element 1 est identique a l'element 1?: " << plist.compare(plist.GetItem(1), plist.GetItem(1)) << "\n";
	cout << "\n";
	// vide la liste, c'est optionnel, si vous ne la vider pas, elle ce videra elle même ...
	//cout << plist.MoveFirst() << "\n";  // pour des testes seulement mais fonctionnel
	//cout << plist.MoveLast() << "\n";  // pour des testes seulement mais fonctionnel
	plist.Empty();

	dwEnd = GetTickCount();
	// Affiche le temp d'exécution total à l'écran
	cout << "Temp d'execution total: " << (dwEnd-dwStart) << " milli sec\n\n";

	// le programme c'est bien terminé alors on renvoie 0
	return EXIT_SUCCESS;

}

Note: Le fichier "nlist.h" ne contient absolument aucun .h, il n'y à aucun include ...

Sur mon PC(AMD K7 550 mhz avec 256 de ram et plus de 350 mo d'utilisé ;)) le temp d'exécution est de 0.00 milli sec ...

Conclusion

Développé et testé sous VC++ 6 et Windows 2000 Pro seulement mais 'devrait' bien fonctionner avec les autres compilateurs C++ Win32 et
'je croit' qu'il pourrait fonctionner sous Linux aussi mais il faudrait enlever le
calcule du temp d'exécution ou le remplacer(windows.h, GetTickCount(), ...)

Sur ce, beubye && @++;
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   nlist
    • Debug
    • Release
    • main.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 539 octets
    • nlist.dspTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 420 octets
    • nlist.dswTélécharger ce fichier [Réservé aux membres club]Voir ce fichier533 octets
    • nlist.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier12 551 octets
    • nlist.ncbTélécharger ce fichier [Réservé aux membres club]50 176 octets
    • nlist.optTélécharger ce fichier [Réservé aux membres club]48 640 octets
    • nlist.plgTélécharger ce fichier [Réservé aux membres club]1 214 octets

Télécharger le zip

18 mai 2007 01:56:45 :
ajout des mots clés( Vous aussi, mettez vos sources à jour !!! Ajoutez les mots clés !!! )
    Aucun commentaire pour le moment.

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS