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