Java - Metodo de ordenamiento de arrays

 
Vista:
Imágen de perfil de alberto

Metodo de ordenamiento de arrays

Publicado por alberto (1 intervención) el 21/05/2016 06:24:19
Hola, en la universidad me pidieron que hiciera un arreglo y me he atorado un poco ya que el profesor pidio que este se fuera ordenando solo ascendentemente y no solo eso, tambien pidio que el areglo pidiera otro dato en caso de que este ya se encuentre, no se si me puedan ayudar ya que he estado vatallando un poco con esto dejo una foto para que entiendan mejor.
Agw1TSU7qnPY79Iq-F8c8c1-dLpz0wjxL5ZhcqLaIxns-1
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Metodo de ordenamiento de arrays

Publicado por tcmy (2 intervenciones) el 24/05/2016 08:26:53
Este ejemplo solo muestra como insertar nuevos valores. Funciona hasta donde pude testearlo y podes modificarlo o mejorarlo como quieras.
Crea un archivo MethodArray.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
public class MethodArray{
 
 
  public MethodArray(){
    count = 0;
    data = new int[10];
  }
 
  private final int SIZE = 10;
  int data[];
  int count;
 
   int insert(int value){
     if(count == SIZE)
       return -1;
 
     if(isDuplicate(value))
       return 0;
 
    data[count] = value;
    count++;
    sort();
    return 1;
  }
 
  //metodos de ayuda
  boolean isDuplicate(int value){
 
    for(int i = 0; i < count; ++i){
      if(value == data[i])
         return true;
    }
    return false;
  }
  void sort(){
    int temp = 0;
    //bubble sort
    for(int i = 0; i < count; ++i){
      for(int j = 0; j < (count-1) - i; ++j){
        if(data[j+1] < data[j]){
          temp = data[j];
          data[j] = data[j+1];
          data[j+1] = temp;
        }
      } //inner loop
    } //outer loop
  }
 
  int getSize(){
    return count;
  }
 
  void Imprimir(){
    for(int i = 0; i < count; ++i){
      System.out.print(data[i] + " | ");
    }
    System.out.println();
    for(int i = 0; i < count; ++i){
      System.out.print(i + " | ");
    }
 
    System.out.println("\n");
  }
 
}

Crea un archivo TestArreglo.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import java.util.Scanner;
 
public class TestArreglo{
 
  public static void main(String args[]){
 
    MethodArray arreglo = new MethodArray();
 
    int menu = 0;
    int value = 0;
    Scanner scanner = new Scanner(System.in);
 
    do{
      printMenu();
      System.out.print("Elija una Opcion: ");
      menu = scanner.nextInt();
 
      switch(menu){
        case 1:
          value = getValue();
          System.out.println("Resultado: " + arreglo.insert(value));
          arreglo.Imprimir();
          menu=0;
          break;
        case 3:
          menu = 3;
          break;
        default:
          System.out.println("La Opcion no existe");
          menu = 0;
          break;
      }
    }while(menu == 0);
 
  }
 
  static int getValue(){
    Scanner scan = new Scanner(System.in);
    int value;
    System.out.print("Ingrese el Valor: ");
    value = scan.nextInt();
    return value;
  }
 
  static void printMenu(){
 
    System.out.println("     M E N U   P R I N C I P A L     ");
    System.out.println("   1. Insertar  ->  (1)   ");
    System.out.println("   2. Eliminar  ->  (2)   ");
    System.out.println("   3. Salir     ->  (3)   ");
  }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar