One97 Interview Question
Software Engineer / Developers<pre lang="" line="1" title="CodeMonkey4476" class="run-this">import java.io.*;
class Array
{
private int[] a;
private int nElems = 0;
Array(int size)
{
a = new int[size];
nElems = 0;
}
public void Insert(int value)
{
a[nElems] = value;
++nElems;
}
public void Display()
{
for(int i = 0; i < nElems; ++i)
System.out.println(a[i]);
}
public void MergeSorting()
{
int[] temp = new int[nElems];
MergeSort(temp,0,nElems-1);
}
public void MergeSort(int[] temp,int low, int high)
{
if(low == high)
return;
else
{
int mid = (low+high)/2;
MergeSort(temp, low, mid);
MergeSort(temp, mid+1, high);
Merge(temp, low, high);
}
}
public void Merge(int[] temp, int low, int high)
{
int mid = (low+high)/2;
int k = mid + 1;
int l = low;
while(low<=mid && k<=high)
{
if(a[low] <= a[k])
temp[l++] = a[low++];
else
temp[l++] = a[k++];
}
while(low <= mid)
temp[l++] = a[low++];
while(k <= high)
temp[l++] = a[k++];
for(int i = 0; i <= high; ++i)
a[i] = temp[i];
}
}
public class MergeSortApp {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
System.out.println("enter the size of the array");
int n = getInt();
Array arr = new Array(n);
while(true)
{
System.out.println("press 'i' to insert value");
System.out.println("press 'd' to display data");
System.out.println("press 's' to merge sort data");
System.out.println("enter your choice");
char ch = getChar();
switch(ch)
{
case 'i':
System.out.println("enter any number");
n = getInt();
arr.Insert(n);
break;
case 'd':
arr.Display();
break;
case 's':
arr.MergeSorting();
break;
default:
break;
}
}
}
public static String getString() throws IOException
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
return s;
}
public static char getChar() throws IOException
{
String s = getString();
return s.charAt(0);
}
public static int getInt() throws IOException
{
String s = getString();
return Integer.parseInt(s);
}
}</pre><pre title="CodeMonkey4476" input="yes">
</pre>
- Messi February 08, 2011