Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 11-07-2011 10:29:09
- ngatilio
- Membre
- Inscription : 18-09-2010
- Messages : 14
Tri dichotomique(en pascal ou delphi)
je propose un algorithme de tri dichotomique en pascal 7.0
program tri_dichotomique;
const max=100;
uses crt;
type vector : array [1..max] of integer;
var
Tab , mot : vector;
i , j : integer;
inf , sup , position,Temp : longint;
procedure lire;
begin
for i:=1 to max do
begin
write ('Entrer un mot dans la liste');
read (Tab[i]);
end;
end;
procedure Tri ;
begin
For i:=1 to max-1 do
begin
For j:=i+1 to max do
begin
while Tab[i] > Tab[j] do
begin
Tab[i]:= Temp;
Tab[j]:=Tab[i];
Temp:=Tab[j];
end;
end;
end;
end;
procedure position ;
begin
write ('Entrer le mot a chercher :');
read (mot [i]);
inf:=1; sup:=max;
position:=(inf+sup+1) div 2 ;
repeat
while mot [i] <>Tab [position] and sup <>inf do
begin
if inf := sup-1 then inf := sup;
if inf = sup then exit ;
while mot [i] <Tab [position] do
begin
if inf < position do sup:= position
else inf := position;
position:=(inf+sup+1) div 2 ;
end;
if sup<>inf then position:=(inf+sup+1) div 2 write ('Le mot est a la position',position)
else write ('Le mot n'existe pas dans la liste');
end;
false;
readln;
end;
{programme principal}
begin
clrscr;
Textbackground (2);
gotoxy(40,20);
lire;
clrscr;
Tri;
clrscr;
Textbackground (5);
gotoxy(40,20);
position;
read();
end.
Hors ligne
#2 11-07-2011 12:57:46
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 988
Re : Tri dichotomique(en pascal ou delphi)
Salut,
Et merci.
De l'eau a coulé sous les ponts entre ma demande et aujourd'hui ; entretemps l'idée m'est venue (grâce à ta proposition en Pascal, de regrouper des algorithmes de tri dans une même discussion, ici :
http://www.bibmath.net/forums/viewtopic … 560#p30560...
J'en suis personnellement à dix et ce serait chouette que l'on puisse les proposer dans différents langages, non ?
Si je comprends bien, tu procèdes à un tri dichotomique, puis tu enchaînes par une recherche dichotomique : il n'y a pas qu'un algo de tri.
Pour une recherche sur disque, c'est vrai que la dichotomie est très très rapide !
SébastienB et thadrien s'y sont mis.
Pourquoi pas toi (dans la mesure de ton temps libre, bien sûr) ?
Cordialement,
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
Pages : 1