Metodo de Ordenacion : Burbuja

Publicado por Abraham Zamudio Chauca 16/01/2006

[ Hits: 3.721 ]

Download BURBUJA1.PAS




el presente programa implementa el conocido algoritmo de ordenacion :
burbuja .

  



Esconder código-fonte

Program Burbuja1;
Uses Crt;
Type Vector=array[1..2000] of Real;

Var
n,i,j:integer;
b:Vector;
opc1,opc2:Char;
aux:real;

Function Max(a,b:Real):Real;
Begin
If a<=b Then max:=b
Else max:=a;
End;

Function Min(a,b:Real):Real;
Begin
If a<=b Then min:=a
Else min:=b;
End;

Procedure leer(n:Integer;var a:vector);
Var i:integer;
Begin
For i:=1 to n do
 Begin
 Writeln('Ingrese el Elemento N£mero ',i);
 Readln(a[i]);
 End;
End;

Procedure escr(a:Vector;n:Integer);
Var i:Integer;
Begin
for i:=1 to n do
  Begin
  If i<n Then Write(a[i]:1:1,'; ')
  Else
    Begin
    Writeln(a[i]:1:1);
    Writeln(n,' Elementos');
    End;
  End;
End;


Begin
Repeat
Begin{*}
clrscr;
Writeln('Ingrese el N£mero de Elementos');
Readln(n);
leer(n,b);
Writeln('¨Quiere Ordenarlos en Forma Ascendente(A) o Descendente(D)?');
opc1:=Readkey;
If (opc1='a') or (opc1='A') Then
 Begin{**}
 For I:=1 to (n-1) do
   Begin{* *}
   for j:=2 to (n-i+1) do
    Begin
    aux:=b[j];
    b[j]:=max(b[j-1],b[j]);
    b[j-1]:=min(b[j-1],aux);
    End;
   End;{* *}
 End{**}
Else
 Begin{***}
 For i:=1 to (n-1) do
   Begin{* * *}
   for j:=2 to (n-i+1) do
    Begin
    aux:=b[j];
    b[j]:=min(b[j-1],b[j]);
    b[j-1]:=max(b[j-1],aux);
    End;
   End;{* * *}
 End;{***}
Writeln('La Lista Ordenada es:');
escr(b,n);

Writeln('¨Desea Realizar Otra Operaci¢n (S/N)?');
opc2:=Readkey;
End;{*}
Until (opc2='n')or(opc2='N');


End.

Scripts recomendados

intercalar dois arrays (vetores)

calculo da somatoria da diagonal principal

Número primo

Maior numero do Vetor

Registro


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts