Pagini recente » Cod sursa (job #1988758) | clasament-arhiva-educationala | Borderou de evaluare (job #2236706) | Clasamentul arhivei educationale | Cod sursa (job #1481403)
//Dat un vector de n elemente, sa se afle al k-le minim din vector
package curs5;
import java.util.Scanner;
public class StatisticiDeOrdine {
private int A[];
private int dim;
private int k;
private void creare() {
Scanner sc=new Scanner(System.in);
System.out.print("nr de elemente = ");
dim=sc.nextInt();
System.out.println("k = ");
k = sc.nextInt();
A=new int[dim + 1];
System.out.print("elementele:");
for(int i = 1; i <= dim; i++)
A[i]=sc.nextInt();
}
private int quicksort(int p, int u) {
if(p < u){
int m = partitie(p, u);
if(m == k){
System.out.println(A[m]);
return 0;
}
if(k < m)
return quicksort(p, m);
else if(k > m) return quicksort(m + 1, u);
}
return 0;
}
private int partitie(int p, int u) {
int x = A[p];
int i = p;
for(int j = i+1; j <= u; j++) {
if(A[j] < x) {
i++;
int aux = A[i];
A[i] = A[j];
A[j] = aux;
}
}
int aux = A[p];
A[p] = A[i];
A[i] = aux;
return i;
}
private void afisare() {
for(int i = 1; i <= dim; i++)
System.out.print(A[i] + " ");
}
public static void main(String args[]) {
StatisticiDeOrdine obj = new StatisticiDeOrdine();
obj.creare();
obj.quicksort(1, obj.dim);
obj.afisare();
}
}