import java.io.*;
import java.util.*;
public class Sort {
private int comparisons,assignments;
public int[] bubbleSort(int[] a) {
comparisons = 0;
assignments = 0;
for (int n = 0;n < a.length;n++) {
for (int i = 0;i < a.length - n - 1;i++) {
comparisons = comparisons + 1;
if (a[i] > a[i + 1]) {
int current = a[i];
a[i] = a[i + 1];
a[i + 1] = current;
assignments = assignments + 3;
}
}
}
return a;
}
public int[] insertionSort(int[] a) {
comparisons = 0;
assignments = 0;
for (int n = 0;n < a.length - 1;n++) {
comparisons = comparisons + 1;
if (a[n] > a[n + 1]) {
for (int i = n + 1;i > 0;i--) {
comparisons = comparisons + 1;
if (a[i] < a[i - 1]) {
assignments = assignments + 3;
int small = a[i];
a[i] = a[i - 1];
a[i - 1] = small;
} else
i = 0;
}
}
}
return a;
}
public int[] selectionSort(int[] a) {
comparisons = 0;
assignments = 2;
int value = a[0];
int index = 0;
for (int n = 0;n < a.length;n++) {
assignments = assignments + 2;
value = a[n];
index = n;
for (int i = n;i < a.length;i++) {
comparisons = comparisons + 1;
if (a[i] < value) {
assignments = assignments + 2;
value = a[i];
index = i;
}
}
assignments = assignments + 2;
a[index] = a[n];
a[n] = value;
}
return a;
}
public int getComparisons() {
return comparisons;
}
public int getAssignments() {
return assignments;
}
}