Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions ORDER AGNOSTIC BINARY SEARCH/OrderAgniosticSearch.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package dsa;

class OrderAgnosticSearch {
public static void main(String[] args) {

int[] arr = {-18, -12, -4, 0, 2, 3, 4, 15, 16, 18, 22, 45, 89};
int target = 22;
int ans = orderAgnosticBS(arr, target);
System.out.println(ans);

}

static int orderAgnosticBS(int[] arr, int target) {
int start = 0;
int end = arr.length - 1;


// find whether the array is sorted in ascending or descending
boolean isAsc = arr[start] < arr[end];


while (start <= end) {
//find mid element
// int mid = (start + end)/2; // might be possible that (start + end) exceed the range of integer java
int mid = start + (end - start) / 2;


if (arr[mid] == target) {
return mid;
}

if (isAsc) {



if (target < arr[mid]) {
end = mid - 1;
} else{
start = mid + 1;
}

}
else
{
if (target > arr[mid]) {
end = mid - 1;
} else{
start = mid + 1;
}


}
}

return -1;
}


}
37 changes: 37 additions & 0 deletions binary search in array/binarysearch.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package dsa;

public class binarysearch {
public static void main(String[] args) {

int[] arr = {-18, -12, -4, 0, 2, 3, 4, 15, 16, 18, 22, 45, 89};
int target = 22;
int ans = binarySearch(arr, target);
System.out.println(ans);


}


static int binarySearch(int[] arr, int target) {
int start = 0;
int end = arr.length - 1;

while (start <= end) {
int mid = start + (end - start) / 2;

if (target < arr[mid]) {
end = mid - 1;
} else if (target > arr[mid]) {
start = mid + 1;
} else {
// ans found
return mid;
}


}
return -1;
}
}


36 changes: 36 additions & 0 deletions sortingInAnArray/sortingInJava.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package dsa;
import java.util.Scanner;
public class sortingInJava
{
public static void main(String[] args)
{
int n, temp;
Scanner s = new Scanner(System.in);
System.out.print("Enter the number of elements: ");
n = s.nextInt();
int a[] = new int[n];
System.out.println("Enter the elements of the array: ");
for (int i = 0; i < n; i++)
{
a[i] = s.nextInt();
}
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
if (a[i] < a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
System.out.println("Array elements in descending order:");
for (int i = 0; i < n - 1; i++)
{
System.out.println(a[i]);
}
System.out.print(a[n - 1]);
}
}