コード例 #1
0
Node GetLastElement(Node _head)
{
	Node _lastElement = _head;

	while (!IsLastElement(_lastElement))
		_lastElement = GetNextElement(_lastElement);

	return _lastElement;
}
コード例 #2
0
void AddElementToSet(SetHeadPtr head, ElementPtr element)
{
    if(!ElementExists(head, element))
    {
        ElementPtr current = head->next;

        if (!IsOutOfRange(current) && IsLargerPowerThan(current, element))
        {
            for (; !IsLastElement(current) && IsLargerPowerThan(current->next, element); SetToNext(&current));

            element ->next = current->next;
            current ->next = element;
        }
        else
        {
            element ->next = head->next;
            head    ->next = element;
        }
    }
}
コード例 #3
0
ファイル: Deque_test.c プロジェクト: junhuawa/DataStructure
ElementType Pop( Deque D )
{
    PtrToNode ptr = NULL;
    ElementType value;

    if(!D) return ERROR;

    if(IsEmpty(D)) return ERROR;

    ptr = D->Front;

    if(IsLastElement(ptr, D)) {
        Initialize(D);
    }else {
        D->Front = ptr->Next;
        (ptr->Next)->Last = (PtrToNode)D;
    }

    value = ptr->Element;
    free(ptr);
    return value;
}