******** fig6.8 ********** /* H->element[0] is a sentinel */ void insert( element_type x, PRIORITY_QUEUE H ) { unsigned int i; /*1*/ if( is_full ( H ) ) /*2*/ error("Priority queue is full"); else { /*3*/ i = ++H->size; /*4*/ while( H->elements[i/2] > x ) { /*5*/ H->elements[i] = H->elements[i/2]; /*6*/ i /= 2; } /*7*/ H->elements[i] = x; } }