Translate To Preferred Language

Search ObiokusThoughts (Posts Only)

Please Read Today's Featured Post

The Inherent Rationale Of Perception

Perception is one of the most important factors affecting our day to day lives as human beings.  I believe it is one of the most underrate...

Donate

Use the button below to make one time or recurring donations to help generate income. Thank you very much for your generosity. Please continue to enjoy ObiokusThoughts.com


Template for File Processing in Java (some bugs may occur)

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package pt_2152_obobotette0;

//import packages
import java.io.*;
import java.util.*;

/**
 *
 * @author obobotette0
 */
public class PT_2152_obobotette0 {

    /**
     * @param args the command line arguments
     */
 
    public static void quicksort(int[] point, int low, int high) {
        //temp variable for swap
        int temp;
     
        //range variables
        int l = low;
        int h = high;
     
        //create midpoint and middle node
        int mid = (low + high) / 2;
        int median = point[mid];
        while (l <= h) {
            while (point[l] < median) {
                l++;
            }

            while (point[h] > median) {
                h--;
            }

            if (l <= h) {
                temp = point[l];
                point[l] = point[h];
                point[h] = temp;
                l++;
                h--;

            }
        }
        if (low < h) {
            quicksort(point, low, h);
        }
        if (l < high) {
            quicksort(point, l, high);
        }

    }

    public static void main(String[] args) throws FileNotFoundException, IOException {
        // TODO code application logic here
        int test_array[] = new int[100];
        int i = 0;
        String pt_filename = new String();
        String pt_filename2 = new String();
        pt_filename = "H:\\My Documents\\NetBeansProjects\\PT_2152_obobotette0\\src\\pt_2152_obobotette0\\COSC489_PT_2152_Input.txt";
        pt_filename2 = "H:\\My Documents\\NetBeansProjects\\PT_2152_obobotette0\\src\\pt_2152_obobotette0\\COSC489_PT_2152_Output_obobotette0.txt";
     
        //Read text file
        File pt_input = new File(pt_filename);
        Scanner pt_read = new Scanner(pt_input);
     
        //while there is more, read file and increase iterator
        while (pt_read.hasNextInt()) {
            test_array[i] = pt_read.nextInt();
            i++;

        }
        //close reader
        pt_read.close();

        //begin output files
        FileWriter pt_output = new FileWriter(pt_filename2);
        PrintWriter pt_write = new PrintWriter(pt_output);
        String format_out = new String();
     
        //output index value during each iteration
        for (int x = 0; x <= i; x++) {
            format_out = x + ": " + test_array[x] + ",\t\t";
            pt_write.append(format_out);
         
            //print after every 5 numbers
            if (x > 0 && x % 5 == 0) {
                pt_write.flush();
                pt_write.append("\n");
            }

        }
        pt_write.append("\n\n");

        //print again from the last entry to the first
        for (int y = i; y >= 0; y--) {
            format_out = y + ": " + test_array[y] + ",\t\t";
            pt_write.append(format_out);
         
            //flush after every 5 entries
            if (y % 5 == 0) {
                pt_write.flush();
                pt_write.append("\n");
            }
        }
        pt_write.append("\n\n");

        quicksort(test_array, 0, i);
        for (int z = 0; z <= i; z++) {
            format_out = z + ": " + test_array[z] + ",\t\t";
            pt_write.append(format_out);
            if (z > 0 && z % 5 == 0) {
                pt_write.flush();
                pt_write.append("\n");
            }

        }
        //Print last number of file after sorting
        //pt_write.append("78:"+test_array[78]+",\n\n");
        pt_write.flush();

        Random randnum = new Random(20150418);
        int[] small = new int[1000];
        int[] medium = new int[20000];
        int[] large = new int[50000];

        //individual loop for each array
        for (int o = 0; o < 1000; o++) {

            small[o] = randnum.nextInt(100001);
        }
        for (int o = 0; o < 20000; o++) {
            medium[o] = randnum.nextInt(100001);
        }

        for (int o = 0; o < 50000; o++) {
            large[o] = randnum.nextInt(100001);
        }

        //start and stop variable for each array sort
        long small_start;
        long small_stop;
        long medium_start;
        long medium_stop;
        long large_start;
        long large_stop;

        small_start = System.currentTimeMillis();
        quicksort(small, 0, small.length - 1);
        small_stop = System.currentTimeMillis();

        medium_start = System.currentTimeMillis();
        quicksort(medium, 0, medium.length - 1);
        medium_stop = System.currentTimeMillis();

        large_start = System.currentTimeMillis();
        quicksort(large, 0, large.length - 1);
        large_stop = System.currentTimeMillis();

        long small_time = small_stop - small_start;
        long medium_time = medium_stop - medium_start;
        long large_time = large_stop - large_start;

        String small_stat = new String();
        String small_content = new String();
        String medium_stat = new String();
        String medium_content = new String();
        String large_stat = new String();
        String large_content = new String();

        small_stat = "\nSize:" + small.length + ",\t\tTime:" + small_time + ",\t\t\n";
        small_content = "\n1st:" + small[0] + ",\t\t100th:" + small[99] + ",\t\t200th:" + small[199] + ",\t\t500th:" + small[499] + "\n\n";

        medium_stat = "\nSize:" + medium.length + ",\t\tTime:" + medium_time + ",\t\t\n";
        medium_content = "\n1st:" + medium[0] + ",\t\t100th:" + medium[99] + ",\t\t200th:" + medium[199] + ",\t\t500th:" + medium[499] + "\n\n";

        large_stat = "\nSize:" + large.length + ",\t\tTime:" + large_time + ",\t\t\n";
        large_content = "\n1st:" + large[0] + ",\t\t100th:" + large[99] + ",\t\t200th:" + large[199] + ",\t\t500th:" + large[499] + "\n\n";

        pt_write.append(small_stat + small_content);
        pt_write.flush();

        pt_write.append(medium_stat + medium_content);
        pt_write.flush();

        pt_write.append(large_stat + large_content);
        pt_write.flush();
    }

}

No comments:

Post a Comment

Thank you very much for viewing this entry and I hope you are able to return soon to continue to enjoy more of the site.
Please share your thoughts in the comment section.
Be blessed and enjoy life!