Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var m, M, p, n, t;
- m = argument0;
- M = argument1;
- if m >= M
- {
- return 0;
- }
- if (m+1 == M)
- {
- if array[m] > array[M]
- {
- t = array[m];
- array[m] = array[M];
- array[M] = t;
- }
- return 0;
- }
- n = (m+M) div 2;
- p = array[n];
- array[n] = array[M];
- array[M] = p;
- repeat M-m
- {
- if (array[m] > p) break;
- m += 1;
- }
- repeat M-m
- {
- if (array[M] < p) break;
- M -= 1;
- }
- while (m < M)
- {
- t = array[m];
- array[m] = array[M];
- array[M] = t;
- repeat M-m
- {
- if (array[m] > p) break;
- m += 1;
- }
- repeat M-m
- {
- if (array[M] < p) break;
- M -= 1;
- }
- }
- array[argument1] = array[m];
- array[m] = p;
- quicksort(argument0, m-1);
- quicksort(m+1, argument1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement