Advertisement
Guest User

Untitled

a guest
Feb 20th, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. static void OneWayScan2(int[] array, Stat[] mass)
  2. {
  3. int[] arrayCopy = new int[array.Length];
  4. CopyArray(array, arrayCopy);
  5. int min = int.MaxValue, max = -1, n_min = 0, n_max = 0, head = 0, dif = 0 ;
  6. int MaxOrMin = 1;// 1=max 0=min
  7. for (int i = 0; i < array.Length; i++)
  8. {
  9. mass[i] = new Stat();
  10. for (int j = 0; j < array.Length; j++)
  11. {
  12. if (array[j] == -1)
  13. {
  14. continue;
  15. }
  16.  
  17. switch (MaxOrMin)
  18. {
  19. case 0:// MIN
  20. {
  21. if (array[j] < min)
  22. {
  23. min = array[j];
  24. n_min = j;
  25. }
  26. break;
  27. }
  28. case 1:// MAX
  29. {
  30. if (array[j] > max)
  31. {
  32. max = array[j];
  33. n_max = j;
  34. }
  35. break;
  36. }
  37. }
  38.  
  39. }
  40. switch (MaxOrMin)
  41. {
  42. case 0: // MIN
  43. {
  44. dif = Math.Abs(head - array[n_min]);
  45. head = array[n_min];
  46. mass[i].numberCylinder = head;
  47. mass[i].numberRequest = i + 1;
  48. mass[i].countSteps = dif;
  49. array[n_min] = -1;
  50. min = int.MaxValue;
  51. MaxOrMin = 1;
  52. break;
  53. }
  54. case 1:// MAX
  55. {
  56. dif = Math.Abs(head - array[n_max]);
  57. head = array[n_max];
  58. mass[i].numberCylinder = head;
  59. mass[i].numberRequest = i + 1;
  60. mass[i].countSteps = dif;
  61. array[n_max] = -1;
  62. max = -1;
  63. MaxOrMin = 0;
  64. break;
  65. }
  66. }
  67. }
  68. CopyArray(arrayCopy, array);
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement