Diferente pentru treapuri intre reviziile #26 si #27

Nu exista diferente intre titluri.

Diferente intre continut:

Vă puteţi uita, ca şi comparaţie, la funcţiile $erase$ sau $balance$ din articolul următor despre arborii "AVL":multe-smenuri-de-programare-in-cc-si-nu-numai#AVL.
== code(cpp) |
#include <cstdio>
#include <algorithm>
 
using namespace std;
struct T {
    int key;
    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.