traverses the records until the last has been processed; does the necessary processing of the (i + 1)th record

while(a[i] != SENTINEL)

{

process(a,i);

i =i+a[i];

}