فهرست منبع

LinkedList2: add LinkedList2Node_Next, LinkedList2Node_Prev

ambrop7 15 سال پیش
والد
کامیت
bbc49bf989
1فایلهای تغییر یافته به همراه26 افزوده شده و 0 حذف شده
  1. 26 0
      structure/LinkedList2.h

+ 26 - 0
structure/LinkedList2.h

@@ -139,6 +139,22 @@ static void LinkedList2_InsertAfter (LinkedList2 *list, LinkedList2Node *node, L
  */
 static void LinkedList2_Remove (LinkedList2 *list, LinkedList2Node *node);
 
+/**
+ * Returns the next node of a given node.
+ * 
+ * @param node reference node
+ * @return next node, or NULL if none
+ */
+static LinkedList2Node * LinkedList2Node_Next (LinkedList2Node *node);
+
+/**
+ * Returns the previous node of a given node.
+ * 
+ * @param node reference node
+ * @return previous node, or NULL if none
+ */
+static LinkedList2Node * LinkedList2Node_Prev (LinkedList2Node *node);
+
 /**
  * Initializes a linked list iterator.
  * The iterator memory must remain available until either of these occurs:
@@ -296,6 +312,16 @@ void LinkedList2_Remove (LinkedList2 *list, LinkedList2Node *node)
     }
 }
 
+LinkedList2Node * LinkedList2Node_Next (LinkedList2Node *node)
+{
+    return node->n;
+}
+
+LinkedList2Node * LinkedList2Node_Prev (LinkedList2Node *node)
+{
+    return node->p;
+}
+
 void LinkedList2Iterator_Init (LinkedList2Iterator *it, LinkedList2 *list, int dir, LinkedList2Node *node)
 {
     ASSERT(dir == 1 || dir == -1)