Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sortcomparison;
- public class BasicSorter implements Sorter {
- @Override
- public void insertionSort(String[] data, int firstIndex, int numberToSort) {
- for (int i = 0; i < numberToSort; i++) {
- for (int j = 0; j < numberToSort - i; j++) {
- if (data[i].compareToIgnoreCase(data[i + j]) > 0) {
- String temp = data[i];
- data[i] = data[j + i];
- data[i + j] = temp;
- }
- }
- }
- }
- @Override
- public void quickSort(String[] data, int firstIndex, int numberToSort) {
- if (data.length > 1) {
- int mid = partition(data, firstIndex, numberToSort);
- int leftLength = firstIndex + numberToSort - mid, rightLength = mid;
- quickSort(data, firstIndex, mid);
- quickSort(data, mid + 1, numberToSort - mid);
- }
- }
- @Override
- public int partition(String[] data, int firstIndex, int numberToPartition) {
- int piv = firstIndex, tooBigNdx = firstIndex + 1, tooSmallNdx = firstIndex + numberToPartition;
- while (tooBigNdx < tooSmallNdx) {
- while (tooBigNdx > tooSmallNdx && data[tooBigNdx].compareToIgnoreCase(data[piv]) <= 0)
- tooBigNdx++;
- while (tooSmallNdx > piv && data[tooSmallNdx].compareToIgnoreCase(data[piv]) > 0)
- tooSmallNdx++;
- if (tooBigNdx < tooSmallNdx) {
- String temp = data[tooBigNdx];
- data[tooBigNdx] = data[tooSmallNdx];
- data[tooSmallNdx] = temp;
- }
- }
- if (data[piv].compareToIgnoreCase(data[tooSmallNdx]) >= 0) {
- String temp = data[piv];
- data[piv] = data[tooSmallNdx];
- data[tooSmallNdx] = temp;
- return tooSmallNdx;
- } else
- return piv;
- }
- @Override
- public void mergeSort(String[] data, int firstIndex, int numberToSort) {
- }
- @Override
- public void merge(String[] data, int firstIndex, int leftSegmentSize, int rightSegmentSize) {
- }
- @Override
- public void heapSort(String[] data) {
- }
- @Override
- public void heapify(String[] data) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement