我的第一颗BST!!!
用了splay
code:
type
tree=record
l,r,f,v,size:longint;
end;
var
t:array[0..100005] of tree;
root,r,n,min,i,k,add,zzn,num:longint;
ch:char;
procedure left(p:longint);
var gp,f,ll:longint;
begin
f:=t[p].f;
t[f].size:=t[f].size-t[t[p].r].size-1;
t[p].size:=t[p].size+t[t[f].l].size+1;
ll:=t[p].l;
t[ll].f:=f;
t[f].r:=ll;
gp:=t[f].f;
if t[gp].l=f then
t[gp].l:=p
else t[gp].r:=p;
t[p].f:=gp;
t[f].f:=p;
t[p].l:=f;
end;
procedure right(p:longint);
var gp,f,rr:long......
阅读全文