Diferente pentru treapuri intre reviziile #20 si #21

Nu exista diferente intre titluri.

Diferente intre continut:

    T *left, *right;
} *R, *nil;
void init(T* &R)
{
void init(T* &R) {
    srand(unsigned(time(0)));
    R = nil = new T();
        nil->left = nil->right = NULL;
}
void rotleft(T* &n)
{
void rotleft(T* &n) {
    T *t = n->left;
    n->left = t->right, t->right = n;
    n = t;
}
void rotright(T* &n)
{
void rotright(T* &n) {
    T *t = n->right;
    n->right = t->left, t->left = n;
    n = t;
}
void balance(T* &n)
{
void balance(T* &n) {
    if (n->left->priority > n->priority)
        rotleft(n);
    else if (n->right->priority > n->priority)
        rotright(n);
}
void insert(T* &n, int key)
{
    if (n == nil)
    {
void insert(T* &n, int key) {
    if (n == nil) {
        n = new T();
        n->key = key, n->priority = rand() + 1,
                    n->left = n->right = nil;
    balance(n);
}
void erase(T* &n, int key)
{
void erase(T* &n, int key) {
    if (n == nil)   return ;
    if (key < n->key)

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.