AXV09

Untitled

May 5th, 2013
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1.  
  2. /* functions */
  3. quickSort (array[], left, right) {
  4. new
  5. i = left, j = right,
  6. tmp,
  7. pivot = array[(left+right) /2];
  8.  
  9. /* partition */
  10. while (i <= j) {
  11. while (array[i] < pivot)
  12. i++;
  13. while (array[j] > pivot)
  14. j++;
  15.  
  16. if (i <= j) {
  17. tmp = array[i];
  18. array[i] = array[j];
  19. array[j] = tmp;
  20. i++;
  21. j--;
  22. }
  23. }
  24.  
  25. /* recursion */
  26. if (left < j)
  27. quickSort (array, left, j);
  28. if (i < right)
  29. quickSort (array, i, right);
  30. }
  31.  
  32. bubbleSort (array[], maxlen = sizeof (array)) {
  33. new
  34. bool:swapped = true,
  35. j = 0,
  36. tmp;
  37.  
  38. while (swapped) {
  39. swapped = false;
  40. j++;
  41. for (new i = 0; i < maxlen - j; i++) {
  42. if (array[i] > array[i+1]) {
  43. tmp = array[i];
  44. array[i] = array[i+1];
  45. array[i+1] = tmp;
  46. swapped = true;
  47. }
  48. }
  49. }
  50. }
  51.  
  52. selectionSort (array[], maxlen = sizeof (array)) {
  53. new i, j, tmp, minindex;
  54. for (i = 0; i < maxlen-1; i++) {
  55. minindex = i;
  56. for (j = i+1; j < maxlen; j++) {
  57. if (array[j] < array[minindex])
  58. minindex = j;
  59. }
  60. if (minindex != i) {
  61. tmp = array[i];
  62. array[i] = array[minindex];
  63. array[minindex] = tmp;
  64. }
  65. }
  66. }
  67.  
  68. insertionSort (array[], maxlen = sizeof (array)) {
  69. new i, j, tmp;
  70. for (i = 1; i < maxlen; i++) {
  71. j = i;
  72. while (j > 0 && array[j-1] > array[j]) {
  73. tmp = array[j];
  74. array[j] = array[j-1];
  75. array[j-1] = tmp;
  76. j--;
  77. }
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment