diff --git a/lesson_2/Array.java b/lesson_2/Array.java index f3da3ff..f680178 100644 --- a/lesson_2/Array.java +++ b/lesson_2/Array.java @@ -1,6 +1,8 @@ package lesson_2; -ublic interface Array { +public interface Array { + + int[] rand(); void add(int value); diff --git a/lesson_2/ArrayImpl.java b/lesson_2/ArrayImpl.java index af90d9a..362cbe4 100644 --- a/lesson_2/ArrayImpl.java +++ b/lesson_2/ArrayImpl.java @@ -1,6 +1,7 @@ package lesson_2; import java.util.Arrays; +import java.util.Random; public class ArrayImpl implements Array { @@ -12,6 +13,16 @@ public ArrayImpl(int maxSize) { // this.currentSize = 0; } + @Override + public int[] rand() { + + Random r = new Random(); + for (int i = 0; i < data.length; i++) { + data[currentSize++] = r.nextInt(10); + } + return data; + } + @Override public void add(int value) { if (currentSize == data.length) { @@ -97,8 +108,9 @@ public int getSize() { public void display() { System.out.println("Display array:"); for (int i = 0; i < currentSize; i++) { - System.out.println(data[i]); + System.out.print(data[i] + " "); } + System.out.println(""); System.out.println("------------"); } diff --git a/lesson_2/Main2.java b/lesson_2/Main2.java index 8a321b4..9487f7c 100644 --- a/lesson_2/Main2.java +++ b/lesson_2/Main2.java @@ -19,10 +19,41 @@ public class Main2 { public static void main(String[] args) { // testArrayList(); // testArray(); - testArrayImpl(); +// testArrayImpl(); + testArrayRandom(); } + private static void testArrayRandom() { + Array array1 = new ArrayImpl(100000); + array1.rand(); + Array array2 = array1; + Array array3 = array1; + System.out.println("Размер массива = " + array1.getSize()); + System.out.println("Произвожу сортировку пузырьками подождите..."); + long start1 = System.nanoTime(); + array1.sortBubble(); + long finish1 = System.nanoTime(); + System.out.println("Время потраченное на сортировку: " + TimeUnit.NANOSECONDS.toMillis(finish1 - start1) + " мсек"); + System.out.println("---------"); + + System.out.println("Произвожу сортировку выборкой подождите..."); + long start2 = System.nanoTime(); + array2.sortSelect(); + long finish2 = System.nanoTime(); + System.out.println("Время потраченное на сортировку: " + TimeUnit.NANOSECONDS.toMillis(finish2 - start2) + " мсек"); + System.out.println("---------"); + + System.out.println("Произвожу сортировку вставкой подождите..."); + long start3 = System.nanoTime(); + array3.sortInsert(); + long finish3 = System.nanoTime(); + System.out.println("Время потраченное на сортировку: " + TimeUnit.NANOSECONDS.toMillis(finish3 - start3) + " мсек"); + System.out.println("---------"); + } + + + private static void testArrayImpl() { // Array array = new SortedArrayImpl(5); Array array = new ArrayImpl(5); @@ -36,18 +67,8 @@ private static void testArrayImpl() { array.add(6); array.add(3); -// array.sortBubble(); -// array.sortSelect(); - long start = System.nanoTime(); - array.sortInsert(); - long finish = System.nanoTime(); - System.out.println(TimeUnit.NANOSECONDS.toMillis(finish - start)); - array.display(); -// Random r = new Random(); -// r.nextInt(); - System.out.println("contains 3: " + array.contains(3)); System.out.println("a[2] = " + array.get(2));