You are on page 1of 2

‫רשימה מקושרת דו כיוונית‬

public class Node<T>


{
private T value;
private Node<T> next;
private Node<T> prev;
public Node(T value)
{
this.value = value;
this.next = null;
this.prev = null;
}
public Node(Node<T> next, T value, Node<T> prev)
{
this.value = value;
this.next = next;
this.prev = prev;
}
public T GetValue()
{
return value;
}
public Node<T> GetNext()
{
return next;
}
public Node<T> GetPrev()
{
return prev;
}
public void SetValue(T value)
{
this.value = value;
}
public void SetNext(Node<T> next)
{
this.next = next;
}
public void SetPrev(Node<T> prev)
{
this.prev = prev;
}
public override String ToString()
{
return " ( " + next + " " + value + " " + prev + " ) ";
}
}
‫תרגילים‬
‫רשימה מקושרת דו כיוונית‬

‫כתוב פעולה בשם ‪ GetFirst‬המקבלת חוליה ברשימה מקושרת דו כיוונית‬ ‫‪.1‬‬


‫ומחזירה החוליה הראשונה ברשימה‬
‫כתוב פעולה בשם ‪ GetLast‬המקבלת חוליה ברשימה מקושרת דו כיוונית‬ ‫‪.2‬‬
‫ומחזירה החוליה האחרונה ברשימה‬
‫כתוב פעולה המקבלת חוליה ברשימה מקושרת דו כיוונית הפעולה תחזיר‬ ‫‪.3‬‬
‫אמת אם הרשימה היא פלינדרום אחרת תחזיר שקר‬
‫נתונה הפעולה הבאה המקבלת חוליה ברשימה הקושרת דו כיוונית‪,‬‬ ‫‪.4‬‬

‫)‪public static int Stam(Node<int> pos‬‬


‫{‬
‫;)‪Node<int> first = GetFirst(pos‬‬
‫;)‪Node<int> last = GetLast(pos‬‬
‫)‪while(first!=last‬‬
‫{‬
‫))(‪if (first.GetValue() > last.GetValue‬‬
‫;)(‪last = last.GetPrev‬‬
‫‪else‬‬
‫;)(‪first = first.GetNext‬‬
‫}‬
‫;)(‪return first.GetValue‬‬
‫}‬

‫עקוב אחרי הפעולה ותרשום מה יהיה הפלט עבור הרשימה הבאה‬ ‫א‪.‬‬

‫מה התפקיד של הפעולה‪.‬‬ ‫ב‪.‬‬


‫מהי סיבוכיות זמן הריצה של הפעולה‪.‬‬ ‫ג‪.‬‬

You might also like