| ... | ... |
@@ -75,5 +75,5 @@ |
| 75 | 75 |
void copy(Item i, Vit p) |
| 76 | 76 |
{
|
| 77 |
_where |
|
| 77 |
_where.set(*p=i,p); |
|
| 78 | 78 |
} |
| 79 | 79 |
void copy(Vit s, Vit p) |
| ... | ... |
@@ -83,5 +83,5 @@ |
| 83 | 83 |
Item i=*s; |
| 84 | 84 |
*p=i; |
| 85 |
_where |
|
| 85 |
_where.set(i,p); |
|
| 86 | 86 |
} |
| 87 | 87 |
} |
| ... | ... |
@@ -90,6 +90,6 @@ |
| 90 | 90 |
Item ti=*i; |
| 91 | 91 |
Vit ct = _where[ti]; |
| 92 |
_where[ti]=_where[*i=*j]; |
|
| 93 |
_where[*j]=ct; |
|
| 92 |
_where.set(ti,_where[*i=*j]); |
|
| 93 |
_where.set(*j,ct); |
|
| 94 | 94 |
*j=ti; |
| 95 | 95 |
} |
| ... | ... |
@@ -228,5 +228,6 @@ |
| 228 | 228 |
void liftHighestActive() |
| 229 | 229 |
{
|
| 230 |
|
|
| 230 |
Item it = *_last_active[_highest_active]; |
|
| 231 |
_level.set(it,_level[it]+1); |
|
| 231 | 232 |
swap(_last_active[_highest_active]--,_last_active[_highest_active+1]); |
| 232 | 233 |
--_first[++_highest_active]; |
| ... | ... |
@@ -251,5 +252,5 @@ |
| 251 | 252 |
} |
| 252 | 253 |
copy(li,_first[new_level]); |
| 253 |
_level |
|
| 254 |
_level.set(li,new_level); |
|
| 254 | 255 |
_highest_active=new_level; |
| 255 | 256 |
} |
| ... | ... |
@@ -275,5 +276,5 @@ |
| 275 | 276 |
copy(li,_first[_max_level]); |
| 276 | 277 |
--_last_active[_max_level]; |
| 277 |
_level |
|
| 278 |
_level.set(li,_max_level); |
|
| 278 | 279 |
|
| 279 | 280 |
while(_highest_active>=0 && |
| ... | ... |
@@ -306,5 +307,6 @@ |
| 306 | 307 |
Item liftActiveOn(int level) |
| 307 | 308 |
{
|
| 308 |
|
|
| 309 |
Item it =*_last_active[level]; |
|
| 310 |
_level.set(it,_level[it]+1); |
|
| 309 | 311 |
swap(_last_active[level]--, --_first[level+1]); |
| 310 | 312 |
if (level+1>_highest_active) ++_highest_active; |
| ... | ... |
@@ -326,5 +328,5 @@ |
| 326 | 328 |
} |
| 327 | 329 |
copy(ai,_first[new_level]); |
| 328 |
_level |
|
| 330 |
_level.set(ai,new_level); |
|
| 329 | 331 |
if (new_level>_highest_active) _highest_active=new_level; |
| 330 | 332 |
} |
| ... | ... |
@@ -346,5 +348,5 @@ |
| 346 | 348 |
copy(ai,_first[_max_level]); |
| 347 | 349 |
--_last_active[_max_level]; |
| 348 |
_level |
|
| 350 |
_level.set(ai,_max_level); |
|
| 349 | 351 |
|
| 350 | 352 |
if (_highest_active==level) {
|
| ... | ... |
@@ -377,5 +379,5 @@ |
| 377 | 379 |
} |
| 378 | 380 |
copy(i,_first[new_level]); |
| 379 |
_level |
|
| 381 |
_level.set(i,new_level); |
|
| 380 | 382 |
if(new_level>_highest_active) _highest_active=new_level; |
| 381 | 383 |
} |
| ... | ... |
@@ -388,5 +390,5 @@ |
| 388 | 390 |
///\pre The item is on the top level. |
| 389 | 391 |
void dirtyTopButOne(Item i) {
|
| 390 |
_level |
|
| 392 |
_level.set(i,_max_level - 1); |
|
| 391 | 393 |
} |
| 392 | 394 |
|
| ... | ... |
@@ -400,5 +402,5 @@ |
| 400 | 402 |
const Vit tl=_first[_max_level]; |
| 401 | 403 |
for(Vit i=f;i!=tl;++i) |
| 402 |
_level |
|
| 404 |
_level.set(*i,_max_level); |
|
| 403 | 405 |
for(int i=l;i<=_max_level;i++) |
| 404 | 406 |
{
|
| ... | ... |
@@ -441,6 +443,6 @@ |
| 441 | 443 |
{
|
| 442 | 444 |
*n=i; |
| 443 |
_where[i]=n; |
|
| 444 |
_level[i]=_max_level; |
|
| 445 |
_where.set(i,n); |
|
| 446 |
_level.set(i,_max_level); |
|
| 445 | 447 |
++n; |
| 446 | 448 |
} |
| ... | ... |
@@ -451,6 +453,6 @@ |
| 451 | 453 |
void initAddItem(Item i) |
| 452 | 454 |
{
|
| 453 |
swap(_where[i],_init_num); |
|
| 454 |
_level[i]=_init_lev; |
|
| 455 |
swap(_where[i],_init_num); |
|
| 456 |
_level.set(i,_init_lev); |
|
| 455 | 457 |
++_init_num; |
| 456 | 458 |
} |
0 comments (0 inline)