Advertisement
Guest User

Untitled

a guest
Jan 17th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.41 KB | None | 0 0
  1. /// <summary>
  2. /// טענת כניסה: הפעולה מקבלת מספר שלם המייצג מספר חוליות
  3. /// טענת יציאה: הפעולה תבנה ותחזיר הפנייה לשרשרת חוליות, בה יוכנסו הערכים 1 עד לערך המייצג את גודל שרשרת החוליות
  4. /// </summary>
  5. /// <param name="size"></param>
  6. /// <returns></returns>
  7. public static Node<int> BuildList(int size)
  8. {
  9. Node<int> lst = new Node<int>(1);
  10. Node<int> pos = lst;
  11. for (int i = 2; i <= size; i++)
  12. {
  13. pos.SetNext(new Node<int>(i));
  14. pos = pos.GetNext();
  15. }
  16. return lst;
  17. }
  18.  
  19. /// <summary>
  20. /// טענת כניסה: הפעולה המקבלת מספר שלם המייצג מספר חוליות.
  21. /// טענת יציאה: הפעולה תבנה ותחזיר הפנייה לשרשרת חוליות, בה יוכנסו הערכים מ-n ועד ל-1
  22. /// </summary>
  23. /// <param name="size"></param>
  24. /// <returns></returns>
  25. public static Node<int> BuildListBack(int size)
  26. {
  27. Node<int> lst = new Node<int>(1);
  28. for (int i = 2; i <= size; i++)
  29. {
  30. lst = new Node<int>(i, lst);
  31. }
  32. return lst;
  33. }
  34.  
  35.  
  36. /// <summary>
  37. /// טענת כניסה: הפעולה לא מקבלת ערכים
  38. /// טענת יציאה: הפעולה בונה ומחזירה הפנייה לשרשרת חוליות, בה יוכנסו הערכים לשרשרת לפי סדר קליטתם
  39. /// </summary>
  40. /// <returns></returns>
  41. public static Node<int> BuildList()
  42. {
  43. Node<int> lst = null, pos = null;
  44. int num = int.Parse(Console.ReadLine());
  45. while (num != -999)
  46. {
  47. if (lst == null)
  48. {
  49. lst = new Node<int>(num);
  50. pos = lst;
  51. }
  52. else
  53. {
  54. pos.SetNext(new Node<int>(num));
  55. pos = pos.GetNext();
  56. }
  57. num = int.Parse(Console.ReadLine());
  58. }
  59. return lst;
  60. }
  61.  
  62. /// <summary>
  63. /// טענת כניסה: הפעולה המקבלת מערך של מספרים שלמים
  64. /// טענת יציאה: הפעולה תבנה ותחזיר הפנייה לשרשרת חוליות, בה יוכנסו הערכים כל ערכי המערך
  65. /// </summary>
  66. /// <param name="arr"></param>
  67. /// <returns></returns>
  68. public static Node<int> BuildList(int[] arr)
  69. {
  70. Node<int> lst = new Node<int>(arr[0]);
  71. Node<int> pos = lst;
  72. for (int i = 1; i < arr.Length; i++)
  73. {
  74. pos.SetNext(new Node<int>(arr[i]));
  75. pos = pos.GetNext();
  76. }
  77. return lst;
  78. }
  79.  
  80. /// <summary>
  81. /// טענת כניסה: הפעולה המקבלת הפנייה לשרשרת חוליות של מספרים שלמים
  82. /// טענת יציאה: הפעולה תדפיס את כל ערכי החוליות בשרשרת
  83. /// </summary>
  84. /// <param name="lst"></param>
  85. public static void PrintList(Node<int> lst)
  86. {
  87. while (lst != null)
  88. {
  89. Console.Write(lst.GetValue() +", ");
  90. lst = lst.GetNext();
  91. }
  92. Console.WriteLine();
  93. }
  94.  
  95. /// <summary>
  96. /// טענת כניסה: הפעולה מקבלת הפנייה של שרשרת חוליות של מספרים שלמים
  97. /// טענת יציאה: הפעולה תחזיר הפניה לערך הגדול ביותר החל במקום מסוים בשרשרת חוליות
  98. /// </summary>
  99. /// <param name="pos"></param>
  100. /// <returns></returns>
  101. public static Node<int> GetMaxPosition(Node<int> pos)
  102. {
  103. Node<int> maxPos = pos;
  104. pos = pos.GetNext();
  105. while (pos != null)
  106. {
  107. if (pos.GetValue() > maxPos.GetValue())
  108. maxPos = pos;
  109. pos = pos.GetNext();
  110. }
  111. return maxPos;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement