2015-04-08 1 views
1

Mon professeur m'a donné un devoir sur la façon de Merge Trier deux tableaux dans Pascal.Merge Trier Exemple pour Pascal

Un des tableaux est nommé comme N et classés, comme à ASCENDING ..

Autre tableau nommé comme M et classé comme DESCENDING.

Ils sont pré-définis et il me veut le tri par fusion ces deux tableaux.

N [ 2, 4, 5, 8, 10 ]

M [ 9, 7, 6, 3, 1 ]

tri par fusion [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

Alors, comment puis-je faire cela?

Quelqu'un peut-il m'expliquer cela Fusionner Trier algorithme par des exemples de codage simple?

Répondre

3

Votre enseignant est un gars intelligent, en fait, vous devez comprendre ce que fait un mergesort pour fusionner deux tableaux déjà triés. C'est comme ça que fonctionne mergesort, il divise le problème jusqu'à ce qu'il y ait deux tableaux déjà triés, puis il fusionne ces tableaux en un tableau trié. Cette fusion sera répétée jusqu'à ce que tout le tableau soit trié.

C'est ce que vous devez faire (le code que vous devez écrire sur votre propre ...)

  1. Créer un tableau qui est assez grand pour contenir les éléments de N et M

  2. Pour chaque position dans le tableau cible, prenez la plus petite valeur restante de N et M. La plus petite que vous trouverez comme ceci:

    a. S'il n'y a plus d'éléments de N, prenez le plus petit élément de M

    b. S'il n'y a plus d'éléments de M, prenez le plus petit élément de N

    c. Sinon, comparez les plus petits éléments de N et M et prenez le plus petit.

Parce que les tableaux sont déjà triés, vous savez exactement à quelle position l'élément de N le plus petit et de M se trouve.

+0

Merci c'est assez d'info pour moi .. :) –