Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9da1aa4

Browse files
Merge pull request fnplus#297 from cutted/master
Add Binary Search Iterative & Recursive & Insertion Sort - Java
2 parents d789f62 + 98ddf16 commit 9da1aa4

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import java.util.Arrays;
2+
import java.util.Scanner;
3+
4+
public class binarySearch {
5+
6+
public static void main(String[] args) {
7+
int[] data = {5,12,16,18,23,27,28,34,38,43,47,50,53,59};
8+
System.out.println("Data = " + Arrays.toString(data));
9+
Scanner sc = new Scanner(System.in);
10+
System.out.println("Enter target: ");
11+
int target = sc.nextInt();
12+
Arrays.sort(data);
13+
System.out.println("Iterative: " + iterative(data, target));
14+
System.out.println("Recursive: " + recursive(data, target, 0, data.length - 1));
15+
}
16+
17+
public static boolean iterative(int[] data, int target){
18+
int start = 0;
19+
int end = data.length - 1;
20+
while (start <= end){
21+
int middle = (start + end) / 2;
22+
if (target < data[middle]){
23+
end = middle - 1;
24+
}
25+
else if (target > data[middle]){
26+
start = middle + 1;
27+
}
28+
else {
29+
return true;
30+
}
31+
}
32+
return false;
33+
}
34+
35+
public static boolean recursive(int[] data, int target, int start, int end){
36+
if (start > end)
37+
return false;
38+
else {
39+
int middle = (start + end) / 2;
40+
if (target == data[middle]){
41+
return true;
42+
}
43+
else if(target < data[middle]) {
44+
return recursive(data, target, start, middle - 1);
45+
}
46+
else {
47+
return recursive(data, target, middle + 1, end);
48+
}
49+
}
50+
}
51+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import java.util.Arrays;
2+
3+
public class InsertionSort {
4+
5+
public static void main(String[] args) {
6+
int data[] = {52,31,25,12,48,44,38,9,37,29,43,16,22,28,41};
7+
sort(data);
8+
System.out.println(Arrays.toString(data));
9+
}
10+
11+
public static void sort(int data[]){
12+
int length = data.length;
13+
for(int i = 1; i < length; ++i){
14+
int valueInsert = data[i]; // copy of value to be inserted
15+
int indexSpace = i; // index space where item to be inserted was
16+
17+
while(indexSpace > 0 && data[indexSpace - 1] > valueInsert) {
18+
data[indexSpace] = data[indexSpace -1];
19+
indexSpace = indexSpace - 1;
20+
}
21+
data[indexSpace] = valueInsert; //located space to insert the item within sorted list
22+
}
23+
}
24+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /