Échanger deux variables

@joekakone

Joseph Konka @joekakone

03/03/2022 · 3 min

Dans ce tutoriel, nous allons extraire les données contenues dans un tableau d'une page web.

Échanger deux variables, voilà un exercice algorithmique très populaire.

Soient a et b deux variables de type entier

a = 4
b = 3

Le problème consiste à échanger les valeurs des variables a et b c'est-à-dire avoir après échange a = 3 et b = 4.

Il y a deux manières de résoudre ce problème.

1. Première méthode#

La première méthode consiste à utiliser une troisième variable (variable tampon) pour stocker temporairement une valeur pendant qu'elle est écrasée. Voici l'implémentation :

c = a /* Stokage de la valeur de a */
a = b
b = c

2. Seconde méthode#

La seconde méthode consiste à sommer les deux variables puis à soustraire au fur

a = a + b
b = a - b
a = a - b

Ces deux méthodes s'implémentent toutes deux en trois étapes mais la seconde est la plus optimisée et la plus ingénieuse d'ailleurs. En effet elle ne fait pas appel à de la ressource supplémentaire.

L'échange de deux variables est généralement utilisé dans les algorithmes de tri.

Implémentation en C#

#include <stdio.h>
#include <stdlib.h>

void echanger(int* a, int* b)
{
    int c; //variable tampon
    c = *a;
    *a = *b;
    *b = c;
}

int main()
{
    int x=12, y=5;

    printf("Avant: x = %d, y = %d\n", x, y);

    echanger(&x, &y);

    printf("Apres: x = %d, y = %d\n", x, y);
    return 0;
}

.

Commentaires

Inscrivez-vous à une formation complète

Voir le catalogue