Skip to content

Commit 3b332c2

Browse files
committed
* Implement Bubble Sort in Java, Ruby
* Modfy log comments
1 parent 4903c47 commit 3b332c2

File tree

4 files changed

+82
-0
lines changed

4 files changed

+82
-0
lines changed

bubble_sort/BubbleSort.java

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import java.util.*;
2+
3+
/**
4+
* BubbleSort
5+
*/
6+
public class BubbleSort {
7+
8+
public static void main(String[] args) {
9+
int inputArr[] = {20, 13, 17, 15, 18, 16, 14, 19};
10+
11+
// variables
12+
int len = inputArr.length;
13+
int lastIdx = len - 1;
14+
int i = 0;
15+
int k = 0;
16+
int w = 0;
17+
18+
long start = System.nanoTime();
19+
20+
System.out.println("=== Exec Bubble Sort in Java ===");
21+
22+
while(k < lastIdx) {
23+
i = lastIdx;
24+
while(i > k) {
25+
if(inputArr[i - 1] > inputArr[i]) {
26+
w = inputArr[i - 1];
27+
inputArr[i - 1] = inputArr[i];
28+
inputArr[i] = w;
29+
}
30+
i--;
31+
}
32+
k++;
33+
}
34+
35+
System.out.println(Arrays.toString(inputArr));
36+
37+
long end = System.nanoTime();
38+
39+
System.out.println("Exec time: " + (end - start) / 1000000f + " ms");
40+
}
41+
}

bubble_sort/BubbleSort.rb

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
require 'time'
2+
3+
class BubbleSort
4+
input_arr = [20, 13, 17, 15, 18, 16, 14, 19]
5+
6+
# variables
7+
len = input_arr.size
8+
lastIdx = len - 1
9+
i = 0
10+
k = 0
11+
w = 0
12+
13+
start_time = Time.now
14+
15+
puts "=== Exec Bubble Sort in Ruby ==="
16+
17+
while k < lastIdx
18+
i = lastIdx
19+
20+
while i > k
21+
if input_arr[i - 1] > input_arr[i]
22+
w = input_arr[i - 1]
23+
input_arr[i - 1] = input_arr[i]
24+
input_arr[i] = w
25+
end
26+
i -= 1
27+
end
28+
29+
k += 1
30+
end
31+
32+
puts input_arr.to_s
33+
34+
end_time = Time.now
35+
36+
puts "Exec time: #{(end_time - start_time) * 100000} ms"
37+
end

selection_sort/SelectionSort.java

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ public static void main(String[] args) {
1818

1919
long start = System.nanoTime();
2020

21+
System.out.println("=== Exec Selection Sort in Java ===");
22+
2123
while(i < len - 1) {
2224
idxMin = i;
2325
k = i + 1;

selection_sort/SelectionSort.rb

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ class SelectionSort
1212

1313
start_time = Time.now
1414

15+
puts "=== Exec Selection Sort in Ruby ==="
16+
1517
while i < len - 1 do
1618
idxMin = i
1719
k = i + 1

0 commit comments

Comments
 (0)