Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Order {
- public static void bubbleSort(char[] v, int tamanho){
- for(int i = 0; i < tamanho; i++) {
- boolean trocou = false;
- for (int j = 0; j < (tamanho - i - 1); j++)
- if (v[j] > v[j + 1]) {
- trocou = true;
- v[j] += v[j + 1];
- v[j + 1] = (char)(v[j] - v[j + 1]);
- v[j] -= v[j + 1];
- }
- if(!trocou) break;
- }
- }
- public static void mergeSort(char[] v, int start, int end) {
- int mid = (start + end) / 2;
- if (start < end) {
- mergeSort(v, start, mid);
- mergeSort(v, mid + 1, end);
- merge(v, start, mid, end);
- }
- }
- private static void merge(char[] v, int start, int mid, int end) {
- char[] inputCopy = new char[v.length];
- int firstArrStart = start, secondArrStart = mid + 1;
- for (int i = start; i <= end; i++)
- inputCopy[i] = v[i];
- while (secondArrStart <= end && firstArrStart <= mid)
- if (inputCopy[firstArrStart] >= inputCopy[secondArrStart])
- v[start++] = inputCopy[secondArrStart++];
- else
- v[start++] = inputCopy[firstArrStart++];
- while (firstArrStart <= mid)
- v[start++] = inputCopy[firstArrStart++];
- while (secondArrStart <= end)
- v[start++] = inputCopy[secondArrStart++];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment