/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package guiinterface;
import java.awt.event.KeyEvent;
import javax.swing.JOptionPane;
/**
*
* @author RC
*/
public class InterfaceJFrame extends javax.swing.JFrame {
/**
* Creates new form InterfaceJFrame
*/
public InterfaceJFrame() {
initComponents();
}
private int[] Splitter(){
//Use split method to put the String into String array separated with " " delimeter
String inputString = inputsjTextField.getText();
String[] stringParts = inputString.split(" ");
//Convert String array to int array
int[] inputs = new int[stringParts.length];
for (int i=0; i < stringParts.length; i++) {
inputs[i] = Integer.parseInt(stringParts[i]);
//System.out.println(inputs[i]);
}
return inputs;
}
//QUICK SORT PART----------------------------------------------------------------------------------------------------
private int[] minmax(){
int arr[] = Splitter();
return doQuickSort(0, arr.length - 1);
}
private int[] doQuickSort(int start, int end){
int arr2[] = Splitter();
//Pivot
int temp = arr2.length/2;
int pivot = arr2[temp];
int i = start, j = end;
while (i <= j) {
while (arr2[i] < pivot)
i++;
while (arr2[j] > pivot)
j--;
if (i <= j) {
swap(i, j, arr2);
i++;
j--;
}
if (start < j)
doQuickSort(start, j);
if (i < end)
doQuickSort(i, end);
}
return arr2;
}
private void swap(int i, int j, int arr2[]) {
int temp = arr2[i];
arr2[i] = arr2[j];
arr2[j] = temp;
}
//End of QuickSort---------------------------------------------------------------------------------------------
private void executejButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Object value = algojComboBox.getSelectedItem();
if(value == "Quick Sort"){
int arr3[] = minmax();
sortedjTextField.setText(arr3.toString());
//System.out.println(value);
}
}
private void inputsjTextFieldKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
char c = evt.getKeyChar(); // Get the typed character
if(c != KeyEvent.VK_BACK_SPACE && c != KeyEvent.VK_DELETE && c != KeyEvent.VK_SPACE){
if (!(c == '0' || c == '1' || c == '2' || c == '3' || c == '4' || c == '5' || c == '6' || c == '7' || c == '8' || c == '9')) {
JOptionPane.showMessageDialog (null, "Invalid Input! Accepting only numbers." );
inputsjTextField.setText("");
}
}
}