Este código é uma classe Java que contém vários métodos de ordenação:
- Ordenação Linear
- Ordenação por Trocas ou Ordenacao Bolha (Bubble Sort)
- Ordenação por seleção (Selection Sort)
- Ordenação por inserção (Insert Sort)
- Ordenação por Quick Sort Crescente
- Ordenação por Quick Sort Decrescente
public class Ordenacao{
//Ordenacao Linear
public void linearSort(int iVet[]){
int i, j, iAux;
for(i=0; iiVet[j]){
iAux=iVet[i];
iVet[i]=iVet[j];
iVet[j]=iAux;
}
}
}
}
//Ordenacao por Trocas ou Ordenacao Bolha (Bubble Sort)
public void bubbleSort(int iVet[]){
int i, j, iAux;
for(i=0; ii; j--){
if(iVet[j-1] > iVet[j]){
iAux = iVet[j];
iVet[j] = iVet[j-1];
iVet[j-1] = iAux;
}
}
}
}
//Ordenacao por selecao (Selection Sort)
public void selectionSort(int iVet[]){
int a,b,c,t;
for(a=0; a=0 && iT= iPivot) && (iBaixo < iAlto)){
iAlto--;
}
if(iBaixo != iAlto){
iVet[iBaixo] = iVet[iAlto];
iBaixo++;
}
while((iVet[iBaixo] <= iPivot) && (iBaixo < iAlto)){
iBaixo++;
}
if(iBaixo != iAlto){
iVet[iAlto] = iVet[iBaixo];
iAlto--;
}
}
iVet[iBaixo] = iPivot;
iP = iBaixo;
iBaixo = iB;
iAlto = iA;
if(iBaixo < iP) quickSort(iVet, iBaixo, iP-1);
if (iAlto > iP) quickSort(iVet, iP+1, iAlto);
return;
}
//Ordenacao por Quick Sort Decrescente
public void quickSortDecres(int iVet[], int iBaixo, int iAlto){
int iP, iB, iA, iPivot;
iB = iBaixo;
iA = iAlto;
iPivot = iVet[iBaixo];
while(iBaixo < iAlto){
while((iVet[iAlto] <= iPivot) && (iBaixo < iAlto)){
iAlto--;
}
if(iBaixo != iAlto){
iVet[iBaixo] = iVet[iAlto];
iBaixo++;
}
while((iVet[iBaixo] >= iPivot) && (iBaixo < iAlto)){
iBaixo++;
}
if(iBaixo != iAlto){
iVet[iAlto] = iVet[iBaixo];
iAlto--;
}
}
iVet[iBaixo] = iPivot;
iP = iBaixo;
iBaixo = iB;
iAlto = iA;
if(iBaixo < iP) quickSort(iVet, iBaixo, iP-1);
if (iAlto > iP) quickSort(iVet, iP+1, iAlto);
return;
}
}
Nenhum comentário:
Postar um comentário