Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/10/2012, 13:12
barakaldo
 
Fecha de Ingreso: noviembre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 1
CORRECION ERROR QUICKSORT c#

saludos cordiales,

amigos necesito un favor urgente, he migrado un codigo de Java a C# pero hay dos errores que no he podido solucionar. agradecería enormemente quien me ayude. De nuevo mil gracias

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.Diagnostics;


namespace ConsoleApplication1
{
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()*1000000000);
}
}
public void display(){
for(int l=0; l<nElems; l++) {
Console.Write(a[l]);
}
Console.WriteLine("");
}
public void quickSort(){
recQuickSort(0, nElems-1);
}
public void recQuickSort(int left, int right){
if(right-left<=0) {
}
else{
long pivot=a[right];
int partition=partitionIt(left, right, pivot);
recQuickSort(left, partition-1);
recQuickSort(partition+1, right);
}
}
@SuppressWarnings("empty-statement")

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;
}
public void swapqs(int dex1, int dex2){
long temp=a[dex1];
a[dex1]=a[dex2];
a[dex2]=temp;
}
}

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();
}
}

}