Below is a generic implementation of
Bubble Sort in Java
1 import org.junit.Assert;
2 import org.junit.Test;
3
4 class GenericBubbleSorter<T extends Comparable<T>>
5 {
6 public void sort(T[] elems) {
7 int size = elems.length;
8
9 for (int outerLoopIdx = 0; outerLoopIdx < size; ++outerLoopIdx) {
10 for (int innerLoopIdx = 0; innerLoopIdx < (size - outerLoopIdx - 1); ++innerLoopIdx) {
11 if (elems[innerLoopIdx].compareTo(elems[innerLoopIdx + 1]) > 0) {
12 T temp = elems[innerLoopIdx];
13 elems[innerLoopIdx] = elems[innerLoopIdx + 1];
14 elems[innerLoopIdx + 1] = temp;
15 }
16 }
17 }
18 }
19 }
20
21 public class BubbleSortTester
22 {
23 private String[] unsortedNames = new String[] {
24 "Pankaj",
25 "Paresh",
26 "Ankit",
27 "Sankalp",
28 "Aditya",
29 "Prem",
30 "Rocket",
31 "Singh",
32 "Alabama",
33 "Alaska",
34 "Animal" };
35
36 private String[] sortedNames = new String[] {
37 "Aditya",
38 "Alabama",
39 "Alaska",
40 "Animal",
41 "Ankit",
42 "Pankaj",
43 "Paresh",
44 "Prem",
45 "Rocket",
46 "Sankalp",
47 "Singh" };
48
49 @Test
50 public void testStringSort() {
51 GenericBubbleSorter<String> bs = new GenericBubbleSorter<String>();
52 bs.sort(unsortedNames);
53 Assert.assertArrayEquals(unsortedNames, sortedNames);
54 }
55 }
No comments:
Post a Comment