منتديات الجلفة لكل الجزائريين و العرب - عرض مشاركة واحدة - موضوع مميز ملتقى طلاب الاعلام الالي لحل تمارين Algorithmes et programmation en Pascal
عرض مشاركة واحدة
قديم 2012-12-31, 19:10   رقم المشاركة : 193
معلومات العضو
you92cef
عضو محترف
 
إحصائية العضو










افتراضي

Organisation d’un tableau (éléments triés)

Algorithme du tri simple (croissant)

Lexique
MaxTABL = constante

TABL (tab [1..MaxTABL] entier) {tableau d’entiers}
TAMPON (entier) {variable de stockage temporaire}
i,j (entier)

Début
TABL_ ç donnée
NBELEMENT ç donnée
Pour i de 1 à NBELEMENT-1 faire
Pour j de i+1 à NBELEMENT faire
Si TABL[i] > TABL[j]
alors TAMPON ç TABL[i]
TABL[i] ç TABL[j]
TABL[j] ç TAMPON
Fin Si
Fin pour j
Fin pour i
Fin

tri simple (croissant) de deux tableaux associés

Pour i de 1 à NBELEMENT-1 faire
Pour j de i+1 à NBELEMENT faire
Si TABL1[i] > TABL1[j]
alors TAMPON1 = TABL1[i]
TABL1[i] = TABL1[j]
TABL1[j] = TAMPON1


TAMPON2 = TABL2[i]
TABL2[i] = TABL2[j]
TABL2[j] = TAMPON2
Fin Si
Fin Pour j
Fin Pour i

On note que si l'on devait trier de nombreuses tables associées, il conviendrait d'utiliser une fonction d'inversion de deux éléments dans une table.

inversion d'une table

Pour i de 1 à division_entière(NBELEMENT,2) faire
TAMPON = TABL[i]
TABL[i] = TABL[NBELEMENT-i+1]
TABL[NBELEMENT-i+1] = TAMPON
Fin Pour i

Cet algorithme peut permettre de trier de façon décroissante un tableau au préalable trié de façon croissante (ou inversement) de façon beaucoup plus efficace que l'utilisation d'un nouveau tri. En effet les tris sont particulièrement consommateur en temps de traitement.










رد مع اقتباس