begin process at 2012 02 07 10:36:02
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > ENSEMBLE DISJOINT

ENSEMBLE DISJOINT


 Information sur la source



 Description

Cette source traite la représentation des ensembles dijoints, elle contient les fonctionnalités de base:
construire , et fusionner;
Construire : on donne la taille de l'ensemble disjoint;
Fusion : on donne les deux éléments à fusionner.

La définition des ensembles disjoints sur wiki :
http://fr.wikipedia.org/wiki/Ensembles_disjoints

Source

  • /**
  • * @autor Mahdi El Masaudi
  • * @description
  • * Représentation d'un ensemble disjoint
  • **/
  • #include<vector>
  • using namespace std;
  • class EnsembleDisjoint{
  • private:
  • int taille;
  • vector<int> elements;
  • bool construire();
  • public:
  • EnsembleDisjoint(int);
  • int ens(int);
  • bool fusionner(int,int);
  • };
  • /**
  • * @param taille int : taille du elements
  • */
  • EnsembleDisjoint::EnsembleDisjoint(int taille){
  • (*this).taille=taille;
  • elements.resize(taille); // changer la taille du vecteur
  • construire();
  • }
  • /**
  • * @return bool : operation effectuée ou non
  • */
  • bool EnsembleDisjoint::construire(){
  • // rempli toutes les cases avec 0
  • elements.assign(taille,0);
  • return true;
  • }
  • /**
  • * @param e int
  • * @return i l'ancètre de l'élément e
  • * @description retourne l'ancètre d'un élément
  • */
  • int EnsembleDisjoint::ens(int e){
  • assert((e>0)&&(e<=taille));
  • int i=e;
  • while(elements[i]>0)
  • i=elements[i];
  • return i;
  • }
  • /**
  • * @param int a
  • * @param int b
  • * @return true -> la fusion a eu lieu , sinon false
  • */
  • bool EnsembleDisjoint::fusionner(int a,int b){
  • if((a>0)&&(a<=taille)&&(b>0)&&(b<=taille)&&(a!=b)){
  • if(elements[a]==elements[b]){
  • elements[a]=elements[a-1];
  • elements[b]=a;
  • }else if(elements[a]<elements[b]){
  • elements[b]=elements[a];
  • }else{
  • elements[a]=elements[b];
  • }
  • }else{
  • return false;
  • }
  • return true;
  • }
/**
* @autor Mahdi El Masaudi
* @description
*               Représentation d'un ensemble disjoint
**/
#include<vector>
using namespace std;
class EnsembleDisjoint{
    private:
    int taille;
    vector<int> elements;
    bool construire();
    public:
    EnsembleDisjoint(int);
    int ens(int);
    bool fusionner(int,int);

};
/**
* @param taille int : taille du elements
*/
EnsembleDisjoint::EnsembleDisjoint(int taille){
    (*this).taille=taille;
    elements.resize(taille); // changer la taille du vecteur
    construire();
}

/**
* @return bool : operation effectuée ou non
*/
bool EnsembleDisjoint::construire(){
    // rempli toutes les cases avec 0
    elements.assign(taille,0);
    return true;
}

/**
* @param e int
* @return i l'ancètre de l'élément e
* @description retourne l'ancètre d'un élément
*/
int EnsembleDisjoint::ens(int e){
    assert((e>0)&&(e<=taille));
    int i=e;
    while(elements[i]>0)
        i=elements[i];
    return i;
}

/**
* @param int a
* @param int b
* @return true -> la fusion a eu lieu , sinon false
*/
bool EnsembleDisjoint::fusionner(int a,int b){
    if((a>0)&&(a<=taille)&&(b>0)&&(b<=taille)&&(a!=b)){
        if(elements[a]==elements[b]){
            elements[a]=elements[a-1];
            elements[b]=a;
        }else if(elements[a]<elements[b]){
            elements[b]=elements[a];
        }else{
            elements[a]=elements[b];
        }
    }else{
        return false;
    }
    return true;
}



 Sources du même auteur

FILE DE PRIORITÉ DYNAMIQUE
Source avec Zip CALCULER NOMBRE DE MERSENNE AVEC BIBLIOTHÈQUE DE GESTION DE ...
Source avec Zip RECHERCHER LE CHEMIN OPTIMALE DANS UN GRAPHE ( ALGORITHME DE...
CLASS TEMPLATE DES PRINCIPAUX TRIS DE TABLEAUX
Source avec Zip BIBLIOTHÈQUE DE GESTION DE GRANDS NOMBRES POSITIFS

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

Source avec Zip JEU DES PETIT CHEVAUX par flamt
Source avec Zip STRUCTURE DES FICHIERS DBF par Stanel
FILE DE PRIORITÉ DYNAMIQUE par mehdi7604
Source avec Zip CALCULER NOMBRE DE MERSENNE AVEC BIBLIOTHÈQUE DE GESTION DE ... par mehdi7604
Source avec Zip Source avec une capture MOTUS/SUPERCON.H par cdc1604

Commentaires et avis

Commentaire de vecchio56 le 27/06/2008 19:01:53 administrateur CS

Je pense savoir ce que sont des ensembles disjoints, mais je ne vois pas du tout le rapport avec ton code
Déja créer une classe EnsembleDisjoint ca ne veut rien dire, pour parler de 'Disjoint' il faut au moins 2 ensembles.

Commentaire de cosmobob le 30/06/2008 23:01:04 1/10

+1 je vois pas le rapport avec les ensembles disjoints :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

structure [ par valoide ] sous visual c++, je voudrais que ma fonction renvoie un type structure afin de l'exploiter dans d'autres fonction???help dessiner des polygones a partir d'n fichier [ par NICKO ] Bonjour,Je cherche à dessiner des polygones (2 triangles pour commencer) dont les informations sont contenues dans un fichier.J'utilise les fonctions bleme avec les structures [ par djamine ] j'ai un bleme j'aimerais que tu m'aide avec les structuresTAF:en utilisant un tableau de structure Je dois ecrire un programme qui saisi les noms et l Structure tm [ par ranouf ] j'utilise visual c++au depart je mets #include &lt;iostream.h&gt;mon but arrivé a recuper le tps actuel dans une structure "temps"pouvoir afficher un tableau dynamique de structure en C ? [ par axl79 ] salutje voudrai faire un tableau dynamique de structures. voici ma structure: struct struct_arete { int sommet1; int sommet2; int quantite;} arete;com Taille de ma structure [ par crocejf2000 ] Salut a tous, J'ai un tres gros probleme qui me bloque toute mon avancé dans mon prog : j'ai une structure : typedef struct{ unsigned short Locate; ch [BCB C++ et MySQL] recuperer la structure des tables mysql [ par hhakim ] La meilleure contribution de chacun est celle d'aider les autresSalut a Tous,je travail avec Borland C++ builder, j'ai un petit probleme concernant la imprimer en ayant le mode paysage par défaut [ par keuf ] Bonjour,J'utilise une structure PrintDLg pour lancer une imprimer. Je voudrais modifier cette structure pour pouvoir avoir le mode paysage par défaut passer d'un widget a une autre structure [ par khaledtaib ] bonjourj' ai un petit programme de traitement d'image en language C, que je veux lui creer une interface graphique en GTK+.ce programme doit afficher sockets: envoi d'une structure... [ par julien20vt ] Maintenant que j'ai réussi à envoyer des char, des int[], je voudrais envoyer un structure faite maison.Le pb est que le socket n'accepte que les char


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales