IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Questions sur l'op�rateur <<


Sujet :

C++

  1. #1
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par d�faut Questions sur l'op�rateur <<
    Salut,

    j'ai deux questions sur l'op�rateur "d�calages de bits".

    Je sais qu'on peut l'utiliser sur un entier unique, mais est-ce que l'on pourrait l'utiliser carr�ment sur une zone m�moire pour par exemple d�caler les cases d'un tableau?

    Sinon, si c'est possible, de quelle facon augmente le temps pris par cette action? Est-ce de l'ordre de n, log(n)...? Par exemple, dans la vie r�elle, si j'ai un jeu de cartes, quand je met une carte au milieu (et que je d�cale les autres cartes donc), ca ne d�pend du nombre de cartes que tr�s faiblement.

    Merci de vos r�ponses

  2. #2
    Expert confirm�

    Inscrit en
    Ao�t 2006
    Messages
    3 967
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 3 967
    Par d�faut
    Dio,
    Citation Envoy� par coyotte507 Voir le message
    Par exemple, dans la vie r�elle, si j'ai un jeu de cartes, quand je met une carte au milieu (et que je d�cale les autres cartes donc), ca ne d�pend du nombre de cartes que tr�s faiblement.
    Mais imagine que les cartes soient dispos�es dans une s�rie de cases, ce qui t'obligerait � en d�caler la moiti� avant d'en ins�rer une.
    Penses-tu qu'il en serait de m�me ?

  3. #3
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par d�faut
    Si je prend par exemple les 7 lettres de scrabble c�te � c�te, il me suffit de pousser celle du milieu vers la gauche (ca d�calera les autres en m�me temps) et d'en mettre une autre au milieu.

    Ta r�ponse veut dire que ca prend un temps lin�aire?

  4. #4
    Membre confirm�
    Inscrit en
    Avril 2007
    Messages
    31
    D�tails du profil
    Informations personnelles :
    �ge : 57

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Par d�faut
    L'op�rateur << ou >> ne fonctionne pas sur des positions arbitraires en m�moire. Tu ne peux donc pas d�caler un ensemble de valeurs en temps constant (du moins sur les architectures classiques).

    Une insertion dans un tableau demande de d�caler, dans le pire des cas, tous les �l�ments du tableau. Chaque d�calage a un co�t constant, donc c'est lin�aire. Il est �galement parfois n�cessaire de r�-allouer un nouveau bloc de m�moire plus grand si l'insertion provoque une augmentation du tableau � une taille sup�rieure � celle allou�e. En ce cas, il est de plus n�cessaire de copier le contenu entier du tableau de l'ancien bloc vers le nouveau bloc et de lib�rer la m�moire occup�e par l'ancien bloc.

    Une structure de donn�es lin�aire permettant de faire des insertions en temps constant est la liste cha�n�e.

    David.
    --

  5. #5
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par d�faut
    D'accord merci. Ca me servirait donc � rien de savoir comment d�caler un bloc de plus de 32 bits.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Question Sur l'Op�rateur d'affichage C++ <<
    Par chercheur111 dans le forum C++
    R�ponses: 24
    Dernier message: 19/04/2014, 21h28
  2. question sur la surcharge d'op�rateur ++
    Par deubelte dans le forum D�buter
    R�ponses: 13
    Dernier message: 26/04/2010, 18h28
  3. question sur l'op�rateur new
    Par deubelte dans le forum D�buter
    R�ponses: 54
    Dernier message: 29/03/2010, 10h47
  4. Question sur l'op�rateur ::
    Par johnkro dans le forum Langage
    R�ponses: 8
    Dernier message: 14/03/2008, 10h13
  5. question sur les op�rateurs
    Par isidore dans le forum C++
    R�ponses: 10
    Dernier message: 25/02/2005, 18h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo