1A).Linear Search

1A).Linear Search
import java.util.Scanner;
class LinearSearch
{
public static void main(String args[])
{
int c, n, search, array[];
Scanner in = new Scanner(System.in);
System.out.println("Enter number of elements");
n = in.nextInt();
array = new int[n];
System.out.println("Enter those " + n + " elements");
for (c = 0; c < n; c++)
array[c] = in.nextInt();
System.out.println("Enter value to find");
search = in.nextInt();
for (c = 0; c < n; c++)
{
 if (array[c] == search) /* Searching element is present */
 {
 System.out.println(search + " is present at location " + (c + 1) + ".");
 break;
 }
}
if (c == n) /* Element to search isn't present */
System.out.println(search + " isn't present in array.");
}
}

1B).Binary Search
class BinarySearch{
public static void binarySearch(int arr[], int first, int last, int key){
 int mid = (first + last)/2;
 while( first <= last ){
 if ( arr[mid] < key ){
 first = mid + 1;
 }else if ( arr[mid] == key ){
 System.out.println("Element is found at index: " + mid);
 break;
 }else{
 last = mid - 1;
 }
 mid = (first + last)/2;
 }
 if ( first > last ){
 System.out.println("Element is not found!");
 }
}
public static void main(String args[]){
 int arr[] = {10,20,30,40,50};
 int key = 30;
 int last=arr.length-1;
 binarySearch(arr,0,last,key);
} }




1C).Selection Sort
import java.util.Scanner;
public class SelectionSort
{
 public static void main(String args[])
 {
 int size, i, j, temp;
 int arr[] = new int[50];
 Scanner scan = new Scanner(System.in);
 System.out.print("Enter Array Size : ");
 size = scan.nextInt();
 System.out.print("Enter Array Elements : ");
 for(i=0; i<size; i++)
 {
 arr[i] = scan.nextInt();
 }
 System.out.print("Sorting Array using Selection Sort Technique..\n");
 for(i=0; i<size; i++)
 {
 for(j=i+1; j<size; j++)
{
 if(arr[i] > arr[j])
 {
 temp = arr[i];
 arr[i] = arr[j];
 arr[j] = temp;
 }
 }
 }
 System.out.print("Now the Array after Sorting is :\n");
 for(i=0; i<size; i++)
 {
 System.out.print(arr[i]+ " ");
 }
 }
}

1D).Insertion Sort
public class InsertionSort {
 public static void insertionSort(int array[]) {
 int n = array.length;
 for (int j = 1; j < n; j++) {
 int key = array[j];
 int i = j-1;
 while ( (i > -1) && ( array [i] > key ) ) {
 array [i+1] = array [i];
 i--;
 }
 array[i+1] = key;
 }
 }
 public static void main(String a[]){
 int[] arr1 = {9,14,3,2,43,11,58,22};
 System.out.println("Before Insertion Sort");
 for(int i:arr1){
 System.out.print(i+" ");
 }
 System.out.println();
 insertionSort(arr1);
System.out.println("After Insertion Sort");
 for(int i:arr1){
 System.out.print(i+" ");
 }
 }
}