Reputation: 11752
I have an array of characters
String a = "badabcde";
char[] chArr = a.toCharArray(); // 'b','a','d','a','b','c','d','e'
What's the easiest way to sort only a section of the array, given a start and end index?
// 'b','a','d','a','b','c','d','e'
subSort(array, startIndex, endIndex);
Ex:
subSort(chArr, 2, 5);
// 'b','a','a','b','c','d','d','e' // sorts indices 2 to 5
Upvotes: 15
Views: 16500
Reputation: 752
I think public static void sort(char[] a, int fromIndex, int toIndex) answers your question.
String a = "badabcde";
char[] chArr = a.toCharArray(); // 'b','a','d','a','b','c','d','e'
// fromIndex - the index of the first element (inclusive) to be sorted
// toIndex - the index of the last element (exclusive) to be sorted
Arrays.sort(chArr,2,6);
Upvotes: 24
Reputation: 1210
Use Arrays.sort([], int startIndex, int endIndex).
String a = "badabcde";
char[] chArr = a.toCharArray(); // 'b','a','d','a','b','c','d','e'
Arrays.sort(chArr, 2, 5);
System.out.println(new String(chArr)); // this prints baabdcde
Upvotes: 2
Reputation: 2084
Check out Arrays.sort().
Example usage:
Arrays.sort(chhArr, 2, 5);
Upvotes: 1
Reputation: 394156
Use public static void sort(char[] a, int fromIndex, int toIndex) in Arrays
class.
In your example:
Arrays.sort(chArr,2,6); // note that fromIndex is inclusive
// but toIndex is exclusive
Upvotes: 6