java new string array
String[] myStringArray = new String[3];
String[] myStringArray = {"a", "b", "c"};
String[] myStringArray = new String[]{"a", "b", "c"};
java new string array
String[] myStringArray = new String[3];
String[] myStringArray = {"a", "b", "c"};
String[] myStringArray = new String[]{"a", "b", "c"};
how to quicksort a string array in java
package com.javacodegeeks.sorting.quicksort;
public class QuicksortStringExample {
private static String []a;
public static void main(String[] args) {
// Get an String array
a = new String[]{"X","E","C","A"};
// prints the given array
printArray();
// sort the array
sort();
System.out.println("");
//prints the sorted array
printArray();
}
// This method sort an array internally and internally calls quickSort
public static void sort(){
int left = 0;
int right = a.length-1;
quickSort(left, right);
}
// This method is used to sort the array using quicksort algorithm.
// It takes left and the right end of the array as two cursors
private static void quickSort(int left,int right){
// If both cursor scanned the complete array quicksort exits
if(left >= right)
return;
// Pivot using median of 3 approach
String pivot = getMedian(left, right);
int partition = partition(left, right, pivot);
// Recursively, calls the quicksort with the different left and right parameters of the sub-array
quickSort(0, partition-1);
quickSort(partition+1, right);
}
// This method is used to partition the given array and returns the integer which points to the sorted pivot index
private static int partition(int left,int right,String pivot){
int leftCursor = left-1;
int rightCursor = right;
while(leftCursor < rightCursor){
while(((Comparable<String>)a[++leftCursor]).compareTo(pivot) < 0);
while(rightCursor > 0 && ((Comparable<String>)a[--rightCursor]).compareTo(pivot) > 0);
if(leftCursor >= rightCursor){
break;
}else{
swap(leftCursor, rightCursor);
}
}
swap(leftCursor, right);
return leftCursor;
}
public static String getMedian(int left,int right){
int center = (left+right)/2;
if(((Comparable<String>)a[left]).compareTo(a[center]) > 0)
swap(left,center);
if(((Comparable<String>)a[left]).compareTo(a[right]) > 0)
swap(left, right);
if(((Comparable<String>)a[center]).compareTo(a[right]) > 0)
swap(center, right);
swap(center, right);
return a[right];
}
// This method is used to swap the values between the two given index
public static void swap(int left,int right){
String temp = a[left];
a[left] = a[right];
a[right] = temp;
}
public static void printArray(){
for(String i : a){
System.out.print(i+" ");
}
}
}
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us