-
Notifications
You must be signed in to change notification settings - Fork 0
/
InsertionSort.java
76 lines (55 loc) · 1.19 KB
/
InsertionSort.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package main;
import java.util.Random;
public class InsertionSort
{
public int RandomNumber(int x)
{
int rand;
Random r = new Random();
rand = r.nextInt(x);
return rand;
}
void insertionSort(int[] array)
{
int j;
for( int p = 1; p < array.length; p++)
{
int tmp = array[p];
j = p;
while( j > 0 && (array[j - 1] > tmp))
{
array[j] = array[j - 1];
j = j - 1;
}
array[j] = tmp;
}
}
public static void main( String[] args )
{
InsertionSort test = new InsertionSort();
//SELECT ARRAY SIZE
int size = 1000;
int[] array;
array = new int[size];
// Generate random numbers
for(int i = 0 ; i < size; i++)
{
array[i] = test.RandomNumber(100);
}
System.out.print("Before\n"); // print
for(int n = 0; n < array.length; n++)
{
System.out.print(array[n] + " "); // print
}
long start,stop;
start = System.nanoTime();
test.insertionSort(array);
stop = System.nanoTime();
System.out.print("\nAfter\n"); // print
for(int n = 0; n < array.length; n++)
{
System.out.print(array[n] + " "); // print
}
System.out.print("\nRuntime:\t\t" + (stop-start) + " nanosec.");
}
}