Help for this page

Select Code to Download


  1. or download this
        use constant U => ....;
        sub init   {@A = (0) x U}
    ...
        sub delete {$A [shift] = 0}
        sub query  {$A [shift]}
        sub clear  {@A = (0) x U}
    
  2. or download this
           A              B
    
    ...
     0  |  2   |       |  4   |
        +------+       +------+
    
  3. or download this
        int query (int i)   {0 <= A [i] && A [i] < C && B [A [i]] == i}
        void insert (int i) {if (!query (i)) {B [C] = i; A [i] = C; C ++}}
    ...
                                 B [A [ i]] = B [C - 1];
                                 A [B [ C - 1]] = A [i];
                                 C --}}