Metodo de Ordenacion : Burbuja

Publicado por Abraham Zamudio Chauca 16/01/2006

[ Hits: 3.725 ]

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

Maior e menor

Calculadora usando procedures

Editor de texto em Pascal/Lazarus

soma de matrizes

Contador de números (Pascal) - efeito Matrix


  

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