Rewrite this code in java please include include include inc
Rewrite this code in java please
#include
#include
#include
#include
using namespace std;
long length = 1000;
const long max_length = 100000;
int list[max_length];
void read()
{
ifstream fin(\"random.dat\", ios::binary);
for (long i = 0; i < length; i++)
{
fin.read((char*)&list[i], sizeof(int));
}
fin.close();
}
void bubbleSort()
{
int temp;
for(long i = 0; i < length; i++)
{
for(long j = 0; j< length-i-1; j++)
{
if (list[j] > list[j+1])
{
temp = list[j];
list[j] = list[j+1];
list[j+1] = temp;
}
}
}
}
void insertionSort()
{
int temp;
for(long i = 1; i < length; i++)
{
temp = list[i];
long j;
for(j = i-1; j >= 0 && list[j] > temp; j--)
{
list[j+1] = list[j];
}
list[j+1] = temp;
}
}
long partition(long left, long right)
{
int pivot_element = list[left];
int lb = left, ub = right;
int temp;
while (left < right)
{
while(list[left]< = pivot_element)
left++;
while(list[right]> pivot_element)
right--;
if (left < right)
{
temp = list[left];
list[left] = list[right];
list[right] = temp;
}
}
list[lb] = list[right];
list[right] = pivot_element;
return right;
}
void quickSort(long left, long right)
{
if (left < right)
{
long pivot = partition(left, right);
quickSort(left, pivot-1);
quickSort(pivot+1, right);
}
}
int main()
{
double t1, t2;
for (length = 1000; length <= max_length; )
{
cout << \"\ Length\\t: \" << length << \'\ \';
read();
t1 = clock();
bubbleSort();
t2 = clock();
cout << \"Bubble Sort\\t: \" << (t2 - t1)/CLK_TCK << \" sec\ \";
read();
t1 = clock();
insertionSort();
t2 = clock();
cout << \"Insertion Sort\\t: \" << (t2 - t1)/CLK_TCK << \" sec\ \";
read();
t1 = clock();
quickSort(0, length - 1);
t2 = clock();
cout << \"Quick Sort\\t: \" << (t2 - t1)/CLK_TCK << \" sec\ \";
switch (length)
{
case 1000 :
length = 5000;
break;
case 5000 :
length = 10000;
break;
case 10000 :
length = 20000;
break;
case 20000 :
length = 50000;
break;
case 50000 :
length = 100000;
break;
case 100000 :
length = 100001;
break;
}
}
return 0;
}
Solution
import java.io.FileInputStream;
 import java.util.Date;
 public class Temp {
   int length = 1000;
    final int max_length = 100000;
    int list[]=new int[max_length];
   
    void read(){
        try{
            int c;
            int i=0;
        FileInputStream fis=new FileInputStream(\"E:\\\ andom.dat\");//stream to read the file.
       
        //read the file character by character
        while((c = fis.read()) != -1) {
            list[i++]=c;
            }
        }catch(Exception e){}
    }
   
    void bubbleSort()
    {
    int temp;
    for(int i = 0; i < length; i++)
    {
    for(int j = 0; j< length-i-1; j++)
    {
    if (list[j] > list[j+1])
    {
    temp = list[j];
    list[j] = list[j+1];
    list[j+1] = temp;
    }
    }
    }
    }
   
    void insertionSort()
    {
    int temp;
    for(int i = 1; i < length; i++)
    {
    temp = list[i];
    int j;
    for(j = i-1; j >= 0 && list[j] > temp; j--)
    {
    list[j+1] = list[j];
    }
    list[j+1] = temp;
    }
    }
   
    int partition(int left, int right)
    {
    int pivot_element = list[left];
    int lb = left, ub = right;
    int temp;
    while (left < right)
    {
    while(list[left]<= pivot_element)
    left++;
    while(list[right]> pivot_element)
    right--;
    if (left < right)
    {
    temp = list[left];
    list[left] = list[right];
    list[right] = temp;
    }
    }
    list[lb] = list[right];
    list[right] = pivot_element;
    return right;
    }
   
    void quickSort(int left, int right)
    {
    if (left < right)
    {
    int pivot = partition(left, right);
    quickSort(left, pivot-1);
    quickSort(pivot+1, right);
    }
    }
   
    int main()
    {Date d;
    long t1, t2;
    for (length = 1000; length <= max_length; )
    {
    System.out.println(\"\ Length\\t: \"+length );
    read();
    d=new Date();
    t1 = d.getTime(); //get time
    bubbleSort();
    d=new Date();
    t2 = d.getTime();
    System.out.println(\"Bubble Sort\\t: \"+(t2 - t1)/1000+\" sec\");
    read();
    d=new Date();
    t1 = d.getTime();
    insertionSort();
    d=new Date();
    t2 = d.getTime();
   
    System.out.println(\"Insertion Sort\\t: \"+(t2 - t1)/1000+\" sec\");
    read();
    d=new Date();
    t1 = d.getTime();
   
    quickSort(0, length - 1);
    d=new Date();
    t2 = d.getTime();
    System.out.println(\"Quick Sort\\t: \"+(t2 - t1)/1000 +\" sec\");
    switch (length)
    {
    case 1000 :
    length = 5000;
    break;
    case 5000 :
    length = 10000;
    break;
    case 10000 :
    length = 20000;
    break;
    case 20000 :
    length = 50000;
    break;
    case 50000 :
    length = 100000;
    break;
    case 100000 :
    length = 100001;
    break;
    }
    }
    return 0;
    }
   
 }







