Chamando o método

0 respostas
Flavia_Mota

Boa noite,

Estou desenvolvendo esse código e, preciso usar nas outras classes: pesquisaSequencial, pesquisaSeqSentinela e pesquisaBinaria os valores da classe aleatorio. Como faço isso, pois, percebi que ele só está imprimindo os valores da primeira classe e para a execução?

package pesquisarandom;

public class pesquisaRandom{

public static void main(String[] args){
long ti = System.currentTimeMillis();
   aleatorio();
   long tf = System.currentTimeMillis();
   System.out.println("Aleatório executado em = " + (tf - ti) + " ms");
   System.out.println("---------------------------");
   long ti = System.currentTimeMillis();
   pesquisaSequencial();
   long tf = System.currentTimeMillis();
   System.out.println("Pesquisa sequencial executada em = " + (tf - ti) + " ms");
   System.out.println("---------------------------");
   long ti = System.currentTimeMillis();
   pesquisaSeqSentinela();
   long tf = System.currentTimeMillis();
   System.out.println("Pesquisa sequencial sentinela executada em = " + (tf - ti) + " ms");
   System.out.println("---------------------------");
   long ti = System.currentTimeMillis();
   pesquisaBinaria();
   long tf = System.currentTimeMillis();
   System.out.println("Pesquisa binária executada em = " + (tf - ti) + " ms");
   System.out.println("---------------------------");
}
public static void aleatorio() {

int n = 1000, x = 0;

int original[] = new int[n];

int a[]= new int[n];
for(int i=0; i < n; i++){
       x = (int) (Math.random()*1000);
       original[i]=x;
       a[i]=x;
        if (x >= 120 && x <= 130){
        System.out.println("x =" + x);
        }
    }
    int i, j, menor, aux;
    for(i=0; i<(n-1);i++){
        menor = i;
        for(j=(i+1);j<n;j++)
            if(a[j]<a[menor])
                menor=j;
            
            aux=a[i];
            a[i]=a[menor];
            a[menor]=aux;
        }
    }

public class pesquisaSequencial{

    int  pesquisaSequencial(int vetor[],int tam, int dado) {
        int vetor = aleatorio;
        System.out.println(vetor);
        int i = 0;
        if (x >= 120 && x <= 130){
        System.out.println("x =" + x);
        }
        while(i < tam && dado != vetor[i]){
            i++;
        } if(i < tam){
                return i;
               
        } else{
                return -1;
        }
    }

public class pesquisaSeqSentinela{
    
    int pesquisaSeqSentinela(int vetor1[], int tam, int dado1) {
        int i = 0;
        vetor1[tam] = dado1;
        while(dado1 != vetor1[i]){
            i++;
        }if(i < tam){
            return i;
        }else{
            return -1;
        }
    }

public class pesquisaBinaria{

    int pesquisaBinaria(int vetor2[], int tam, int dado2) {
        int i, esq=0, dir=tam-1;
        if(tam == 0)
            return -1;
    do{
        i = (esq + dir)/2;
        if(vetor2[i] < dado2){
            esq = i + 1;
        
        }else{
            dir = i - 1;
        }
    while((vetor2[i] != dado2)&&(esq <= dir)){
            if(vetor2[i] == dado2){
                return i;
            
            }else{
                return - 1;
            }
        }

Abraço,
Flávia Mota

Criado 26 de março de 2016
Respostas 0
Participantes 1