**fig6_30.txt** /* 1*/ template /* 2*/ Etype /* 3*/ Left_Heap:: /* 4*/ Delete_Min( ) /* 5*/ { /* 6*/ Etype Min_Element; /* 7*/ Left_Node *Left_Heap, *Right_Heap; /* 8*/ if( Is_Empty( ) ) /* 9*/ { /*10*/ Error( "Priority queue is empty" ); /*11*/ return 0; /*12*/ } /*13*/ Min_Element = Root->Element; /*14*/ Left_Heap = Root->Left; /*15*/ Right_Heap = Root->Right; /*16*/ delete Root; /*17*/ Root = Merge( Left_Heap, Right_Heap ); /*18*/ return Min_Element; /*19*/ }