Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- /**
- * Created by Agata on 2017-04-18.
- */
- public class Test {
- public Test() {
- }
- public ArrayList generateListPU(int n) {
- ArrayList list = new ArrayList(n);
- int i;
- for(i = 0; i < n; ++i) {
- list.add(i);
- }
- for(i = 0; i < n / 100; ++i) {
- int p = (int)(Math.random() * n);
- int s = (int)(Math.random() * n);
- this.swap(list, p, s);
- }
- return list;
- }
- private void swap(ArrayList list, int left, int right) {
- Object temp = list.get(left);
- list.set(left, list.get(right));
- list.set(right, temp);
- }
- public ArrayList generateListOU(int n) {
- ArrayList list = new ArrayList(n);
- for(int i = n; i > 0; --i) {
- list.add(i);
- }
- return list;
- }
- public ArrayList generateListRandom(int n) {
- ArrayList list = new ArrayList(n);
- for(int i = n; i > 0; --i) {
- list.add((int)(Math.random() * n));
- }
- return list;
- }
- public static void main(String[] args) {
- Test t = new Test();
- BubbleSort bubbleSort = new BubbleSort(NaturalComparator.INSTANCE);
- SelectSort selectSort = new SelectSort(NaturalComparator.INSTANCE);
- InsertSort insertSort = new InsertSort(NaturalComparator.INSTANCE);
- int n = 100;
- ArrayList pu = t.generateListPU(n);
- ArrayList ou = t.generateListOU(n);
- ArrayList r = t.generateListRandom(n);
- System.out.println("Aby wybrac liste prawie uporzadkowana wybierz 1");
- System.out.println("Aby wybrac liste odwrotnie uporzadkowana wybierz 2");
- System.out.println("Aby wybrac liste losowa wybierz 3");
- System.out.println("Aby zakonczyc wybierz 0");
- Scanner sc = new Scanner(System.in);
- int i = sc.nextInt();
- while(sc.nextInt()!=0) {
- switch (i) {
- case 1:
- bubbleSort.sort(pu.copy());
- selectSort.sort(pu.copy());
- insertSort.sort(pu.copy());
- System.out.println("BubbleSort:");
- System.out.println("number of compares:");
- System.out.println(bubbleSort.getNumberOfCompares());
- System.out.println("number of swaps:");
- System.out.println(bubbleSort.getNumberOfSwaps());
- System.out.println("******");
- System.out.println("SelectSort:");
- System.out.println("number of compares:");
- System.out.println(selectSort.getNumberOfCompares());
- System.out.println("number of swaps:");
- System.out.println(selectSort.getNumberOfSwaps());
- System.out.println("******");
- System.out.println("InsertSort:");
- System.out.println("number of compares:");
- System.out.println(insertSort.getNumberOfCompares());
- System.out.println("number of swaps:");
- System.out.println(insertSort.getNumberOfSwaps());
- case 2:
- bubbleSort.sort(ou.copy());
- selectSort.sort(ou.copy());
- insertSort.sort(ou.copy());
- System.out.println("BubbleSort:");
- System.out.println("number of compares:");
- System.out.println(bubbleSort.getNumberOfCompares());
- System.out.println("number of swaps:");
- System.out.println(bubbleSort.getNumberOfSwaps());
- System.out.println("******");
- System.out.println("SelectSort:");
- System.out.println("number of compares:");
- System.out.println(selectSort.getNumberOfCompares());
- System.out.println("number of swaps:");
- System.out.println(selectSort.getNumberOfSwaps());
- System.out.println("******");
- System.out.println("InsertSort:");
- System.out.println("number of compares:");
- System.out.println(insertSort.getNumberOfCompares());
- System.out.println("number of swaps:");
- System.out.println(insertSort.getNumberOfSwaps());
- case 3:
- bubbleSort.sort(r.copy());
- selectSort.sort(r.copy());
- insertSort.sort(r.copy());
- System.out.println("BubbleSort:");
- System.out.println("number of compares:");
- System.out.println(bubbleSort.getNumberOfCompares());
- System.out.println("number of swaps:");
- System.out.println(bubbleSort.getNumberOfSwaps());
- System.out.println("******");
- System.out.println("SelectSort:");
- System.out.println("number of compares:");
- System.out.println(selectSort.getNumberOfCompares());
- System.out.println("number of swaps:");
- System.out.println(selectSort.getNumberOfSwaps());
- System.out.println("******");
- System.out.println("InsertSort:");
- System.out.println("number of compares:");
- System.out.println(insertSort.getNumberOfCompares());
- System.out.println("number of swaps:");
- System.out.println(insertSort.getNumberOfSwaps());
- }
- i=sc.nextInt();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement