Rechercher : dans
Par :

Tri d'une liste chainé en pascal

bebetoalvaro, le 15 fév 2007 à 14:02:20 
 Signaler ce message aux modérateurs

Bonjour :svp aider moi atraduire ce code de java au pascal:


// Tri selection
////////////////
static Liste Tri_Selection_Liste(Liste l)
{
if (l == null)
return null ;

// Recherche du minimum : attention au decalage d'un cran de l1 et l2
Liste l1 = l, l2 = null ; ;
int min = l.elt ;
while (l1.suivant != null) {
if (l1.suivant.elt < min) {
min = l1.suivant.elt ;
l2 = l1 ;
}
l1 = l1.suivant ;
}

// On supprime le minimum de la liste
if (l2 == null) {
l.suivant = Tri_Selection_Liste(l.suivant) ;
return l ;
}
else {
l1 = l2.suivant ;
l2.suivant = l2.suivant.suivant ;
l1.suivant = Tri_Selection_Liste(l) ;
return l1 ;
}
}

// Tri insertion
////////////////
static Liste Tri_Insertion_Liste(Liste l)
{
// On prend le premier element
Liste l2 = l ;
l = l.suivant ;
l2.suivant = null ;

// On ajoute les elements suivants
while (l != null) {
if (l.elt < l2.elt) {
Liste l1 = l ;
l = l.suivant ;
l1.suivant = l2 ;
l2 = l1 ;
}
else {
Liste l1 = l ;
l = l.suivant ;
l1.suivant = null ;
Ajout_Trie_Liste(l2, l1) ;
}
}
return l2 ;
}

// Fonction d'ajout d'un element dans une liste triee
static void Ajout_Trie_Liste(Liste l, Liste l1) {
if (l.suivant == null) {
l.suivant = l1 ;
}
else if (l1.elt < l.suivant.elt) {
l1.suivant = l.suivant ;
l.suivant = l1 ;
}
else
Ajout_Trie_Liste(l.suivant, l1) ;
}

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « tri d'une liste chainé en pascal » dans :
Liste simplement chaînée VoirLISTES SIMPLEMENT CHAINÉES Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la liste IV. Opérations sur les listes chaînées A. Initialisation B. Insertion d'un élément dans la liste 1. Insertion...
Liste doublement chaînée VoirLISTES DOUBLEMENT CHAINÉES Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la liste IV. Opérations sur les listes doublement chaînées A. Initialisation B. Insertion d'un élément dans la liste 1....
Pascal - Tri par insertion - Récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par insertion : Procedure Tri_Ins (Var t: TAB; n: integer); Var aux,i : integer; begin If n > 1 Then begin ...
Langage C - Les listes chaînées VoirLa notion de structure autoréferrentielle Une structure autoréferrentielle (parfois appelée structure récursive) correspond à une structure dont au moins un des champs contient un pointeur vers une structure de même type. De cette façon on crée...