You are on page 1of 5

QUESTION NO.

1
public class lab7 {
public static int interpolationSearch(int arr[], int key) {
int low = 0, high = (arr.length - 1);
while (low <= high && key >= arr[low] && key <= arr[high]) {
if (low == high) {
if (arr[high] == key)
return 1;
else
return -1;
}
int position = low + (((high - low) / (arr[high] - arr[low])) * (key - arr[low]));
if (arr[position] == key) {
return 1;
} else if (arr[position] < key)
low = position + 1;
else if (arr[position] > key) {
high = position - 1;
}
}
return -1;
}

public static void main(String[] args) {

int arr[] = {3, 3, 4, 2, 4, 4, 2, 4, 4};


int maj = arr[1];
for (
int i = 0;
i < arr.length; i++) {
int count = 1;
for (int j = 0; j < arr.length; j++) {
if (arr[i] == arr[j]) {
count++;
maj = arr[i];
}
}
if (maj > arr.length / 2) {
maj = arr[i];
}

}
System.out.println("majority of number is: " + maj);
for (
int i = 0;
i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}

}
for (
int i = 0;
i < arr.length - 1; i++) {
System.out.println(arr[i]);
}
if (interpolationSearch(arr,3)==-1){
System.out.println("element does not exist");
}else System.out.println("element: "+3+" exist");
}

QUESTION NO. 2
import java.util.Random;
import java.util.Scanner;
public class lab7 {
public static void main(String[] args) {
int arr[]=new int[10];
int a=47,m=2743,b=5923,i;
Random rand=new Random();
for (int j=0;j<arr.length;j++){
i=rand.nextInt(9000);
arr[j]=(a*m+i*b)%100000;
System.out.println(arr[j]);
}
System.out.println("enter the number to search in the array: ");
Scanner sc=new Scanner(System.in);
int a1=sc.nextInt();
for (int j=0;j<arr.length;j++){
if (a1==arr[j]){
System.out.println("value found");
break;
}
}
}
}
QUESTION NO. 3
public class lab7 {
public static int binarySearch(int a[], int key) {
int low = 0, high = a.length - 1;

while (low <= high) {


int mid = low + (high-low)/ 2;
if (a[mid] == key) {
return mid;
} else if (key>a[mid]) {
low = mid + 1;
} else {
high = mid - 1;

}
}
return -1;
}

public static void main(String[] args) {


int a[] = {2, 5, 5, 5, 6, 6, 8, 9, 9, 9};
if (binarySearch(a, 5) == -1) {
System.out.println("element is not present");
}else {
System.out.println("the no. is present at index: " + binarySearch(a, 5));
}
}
}

QUESTION NO. 4
import java.util.Random;

public class lab7 {


public static int partition(int arr[], int low, int high) {
Random rnd = new Random();
int pivot = 0, a = low;
while (a <= low) {
a = rnd.nextInt(arr.length);
pivot = arr[a];
}

int i = low - 1;

for (int j = low; j < a; j++) {


if (arr[j] < pivot) {
i++;
//swap
int a1 = arr[i];
arr[i] = arr[j];
arr[j] = a1;
}
}
i++;
int a1 = arr[a];
arr[a] = arr[i];
arr[i] = a1;

return i; // pivot index


}

public static void quickSort(int arr[], int low, int high) {


if (low < high) {
int pidx = partition(arr, low, high);

quickSort(arr, low, pidx - 1);


quickSort(arr, pidx + 1, high);
}
}

public static void main(String args[]) {


Random rnd = new Random();
int arr[] = new int[26];
for (int i = 0; i < arr.length; i++){
arr[i] = rnd.nextInt(1,13);
}

for (int i = 0; i < arr.length-1;i++){


if(arr[i]>arr[i+1]){
quickSort(arr,0,arr.length-1);
}
}

for (int i = 0; i < arr.length-1; i++){


System.out.print(arr[i]+", ");
}
}
}

QUESTION NO. 5
import java.util.Random;
import java.util.Scanner;
public class lab7 {
static int arr[] = {15, 6, 2, 8, 17, 19, 8, 9, 7, 6};
public static void sort(int pos) {
int arr1[] = new int[arr.length];
int arr2[] = new int[10];
for (int i = 0; i < arr.length; i++) {
arr2[arr[i] / pos % 10]++;
}
for (int i = 1; i < arr.length; i++) {
arr2[i] = arr2[i] + arr2[i - 1];
}
for (int i = arr.length - 1; i >= 0; i--) {
arr1[arr2[arr[i] / pos % 10] - 1] = arr[i];
arr2[arr[i] / pos % 10]--;
}
for (int i = 0; i < arr.length; i++) {
arr[i] = arr1[i];
}
}

public static int max() {


int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
return max;

public static void main(String[] args) {

int n = arr.length;
for (int pos = 1; max() / pos > 0; pos *= 10) {
sort(pos);
}
for (int i = 0; i < n; i++) {
System.out.println(arr[i]);
}
}
}

You might also like