1: 为lev[]分配内存,初值设为0 2: nlevel = 1 3: for k = 0 to n - 1 do 4: if parent[k]≠ -1 then 5: lev[parent[k]] = max(lev[parent[k]], lev[k]+1); 6: end if 7: nlevel = max(nlevel, lev[k]+1); 8: end for 9: 为c[]分配内存, 大小为nlevel,初值设为0 10: for k = 0 to n- 1 do 11: c[lev[k]]++; 12: end for 13: 为level_p[]分配内存, 大小为nlevel+1 14: level_p[0] = 0; 15: for k = 1 to nlevel do 16: level_p[k] = level_p[k-1]+c[k-1]; 17: c[k-1] = level_p[k-1] 18: end for 19: 为level_i 分配内存空间, 大小为n 20: for k = 0 to n - 1 do 21: level_i[c[lev[k]]++] = k; 22: end for 23: 释放lev[]和c[] |
|