3. BUSQUEDA BINARIA
class BusquedaAlgoritmo {
public static int buscar( int [] arreglo, int dato) {
int inicio = 0;
int fin = arreglo.length - 1;
int pos;
while (inicio <= fin) {
pos = (inicio+fin) / 2;
if ( arreglo[pos] == dato )
return pos;
else if ( arreglo[pos] < dato ) {
inicio = pos+1;
} else {
fin = pos-1;
}
}
return -1;
}
}
public class BusquedaBinaria {
public static void main (String args[]) {
// Llenar arreglo
int [] edades = new int [35];
for (int i = 0; i < edades.length ; i++)
edades[i] = i*i ;
// Mostrar arreglo.
for (int i = 0; i < edades.length ; i++)
System.out.println ( "edades["+i+"]: "+ edades[i]);
int resultado = BusquedaAlgoritmo.buscar(edades, 9);
if (resultado != -1) {
System.out.println ( "Encontrado en: "+ resultado);
} else {
System.out.println ( "El dato no se encuentra en el arreglo, o el
arreglo no está ordenado." );
}
4. }
}
METDODO DEL QUICKSORT
Me base en aquel entonces en el libro de “Data Structures and Algorithms in java” de
Robert Lafore.
class QuickSort{
private long[] a;
private int nElems;
public QuickSort(int max){
a=new long[max];
nElems=max;
}
public void llenar(long value){
for(int k=0; k<value; k++)
a[k]=(int)(Math.random()*100);
}
public void display(){
for(int l=0; l<nElems; l++)
System.out.print(a[l]+" ");
System.out.println("");
}
public void quickSort(){
recQuickSort(0, nElems-1);
}
public void recQuickSort(int left, int right){
if(right-left<=0) return;
else{
long pivot=a[right];
int partition=partitionIt(left, right, pivot);
recQuickSort(left, partition-1);
recQuickSort(partition+1, right);
}
}
public int partitionIt(int left, int right, long pivot){
int leftPtr=left-1;
int rightPtr=right;
while(true){
while(a[++leftPtr]<pivot);
while(rightPtr>0&&a[--rightPtr]>pivot);
if(leftPtr>=rightPtr)break;
else swapqs(leftPtr, rightPtr);
}
swapqs(leftPtr, right);
return leftPtr;
5. }
public void swapqs(int dex1, int dex2){
long temp=a[dex1];
a[dex1]=a[dex2];
a[dex2]=temp;
}
}/*end class*/
/*y está es nuestra interfaz*/
class QuickSortApp{
public static void main(String[] args){
int cien=100;
QuickSort arr;
arr=new QuickSort(cien);
arr.llenar(cien);
arr.display();
arr.quickSort();
arr.display();
}
}
2DO METODO DE QUICKSORT
ste código lo hize solo con JOption y un Objeto sencillo con datos primitivos es mas sencillo
espero les sirva!!!!1
import javax.swing.JOptionPane;
/*
* @uthor: Sir FaCu.....
* xfiire: facu1
*/
public class Quicksortorden
{
mercado cab=null;
mercado fin=null;
mercado aux=null;
public static void main(String[] args)
{
Quicksortorden a=new Quicksortorden();
a.menu();
}
void menu()
{
int op=0;
do{
op=Integer.parseInt(JOptionPane.showInputDialog("QUICKSORTnnt1. CREAR MERCADOnt2.