Algoritmos de ordenacion
Soy incapaz de implementar un algoritmo que ordene de mayor a menor.Podrian ayudarme?Muchas gracias
Tio si te lias mucho coge el metodo de la burbuja en c y ya esta lo unico que tienes que hacer es cambiar el codigo para que se ejecute en java
SOLO SOY PRINCIPIANTE OJALA TE PUEDA AYUDAR: tengo el metodo de burbuja en menos lineas de codigo, un poco mas entendible:
DE MENOR A MENOR
class Burbuja
{
public static void main (String[ ]args){
int i, pass;
int [ ] x = {1,4,6,2,3,8};
for (pass=0; pass<=x.length-2;pass++)
for(i=0; i<=x.length-pass-2;i++)
if (x [i]>x[i+1]){
int temp= x [i];
x [i]=x[i+1];
x[i+1]=temp;
}
for(i=0; i<x.length; i++)
System.out.println(x[i]);
}
}
DE MAYOR A MENOR
class Burbuja
{
public static void main (String[ ]args){
int i, pass;
int [ ] x = {1,4,6,2,3,8};
for (pass=0; pass<=x.length-2;pass++)
for(i=0; i<=x.length-pass-2;i++)
if (x [i]<x[i+1]){
int temp= x [i];
x [i]=x[i+1];
x[i+1]=temp;
}
for(i=0; i<x.length; i++)
System.out.println(x[i]);
}
}
DE MENOR A MENOR
class Burbuja
{
public static void main (String[ ]args){
int i, pass;
int [ ] x = {1,4,6,2,3,8};
for (pass=0; pass<=x.length-2;pass++)
for(i=0; i<=x.length-pass-2;i++)
if (x [i]>x[i+1]){
int temp= x [i];
x [i]=x[i+1];
x[i+1]=temp;
}
for(i=0; i<x.length; i++)
System.out.println(x[i]);
}
}
DE MAYOR A MENOR
class Burbuja
{
public static void main (String[ ]args){
int i, pass;
int [ ] x = {1,4,6,2,3,8};
for (pass=0; pass<=x.length-2;pass++)
for(i=0; i<=x.length-pass-2;i++)
if (x [i]<x[i+1]){
int temp= x [i];
x [i]=x[i+1];
x[i+1]=temp;
}
for(i=0; i<x.length; i++)
System.out.println(x[i]);
}
}
// Fig. 5.13: BubbleSort.java
// This program sorts an array's values into
// ascending order
import java.awt.Graphics;
import java.applet.Applet;
public class BubbleSort extends Applet {
int a[] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
public void paint( Graphics g )
{
print( g, "Data items in original order", a, 25, 25 );
sort();
print( g, "Data items in ascending order", a, 25, 55 );
}
public void sort()
{
int hold; // temporary holding area for swap
for ( int pass = 1; pass < a.length; pass++ ) // passes
for ( int i = 0; i < a.length - 1; i++ ) // one pass
if ( a[ i ] > a[ i + 1 ] ) { // one comparison
hold = a[i]; // one swap
a[ i ] = a[ i + 1 ];
a[ i + 1 ] = hold;
}
}
public void print( Graphics g, String head, int b[],
int x, int y )
{
g.drawString( head, x, y );
x += 15;
y += 15;
for ( int i = 0; i < b.length; i++ ) {
g.drawString( String.valueOf( b[ i ] ), x, y );
x += 20;
}
}
}
// This program sorts an array's values into
// ascending order
import java.awt.Graphics;
import java.applet.Applet;
public class BubbleSort extends Applet {
int a[] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
public void paint( Graphics g )
{
print( g, "Data items in original order", a, 25, 25 );
sort();
print( g, "Data items in ascending order", a, 25, 55 );
}
public void sort()
{
int hold; // temporary holding area for swap
for ( int pass = 1; pass < a.length; pass++ ) // passes
for ( int i = 0; i < a.length - 1; i++ ) // one pass
if ( a[ i ] > a[ i + 1 ] ) { // one comparison
hold = a[i]; // one swap
a[ i ] = a[ i + 1 ];
a[ i + 1 ] = hold;
}
}
public void print( Graphics g, String head, int b[],
int x, int y )
{
g.drawString( head, x, y );
x += 15;
y += 15;
for ( int i = 0; i < b.length; i++ ) {
g.drawString( String.valueOf( b[ i ] ), x, y );
x += 20;
}
}
}
Lo que yo buscaba es un algoritmo que ordene en un orden descendente no ascendente.Es decir de mayor a menor y no como los q he encontrado (incluido el tuyo) que es de menor a mayor.De todos modos gracias por las molestias
Lo que yo buscaba es un algoritmo que ordene en un orden descendente no ascendente.Es decir de mayor a menor y no como los q he encontrado (incluido el tuyo) que es de menor a mayor.De todos modos gracias por las molestias
Lo que yo buscaba es un algoritmo que ordene en un orden descendente no ascendente.Es decir de mayor a menor y no como los q he encontrado (incluido el tuyo) que es de menor a mayor.De todos modos gracias por las molestias
Lo que yo buscaba es un algoritmo que ordene en un orden descendente no ascendente.Es decir de mayor a menor y no como los q he encontrado (incluido el tuyo) que es de menor a mayor.De todos modos gracias por las molestias
Esto se llama ordenacion en burbuja y ordena los elementos de una matriz si es eso lo que buscabas