**fig3_12.txt** /* 1*/ // Remove X from the list. /* 2*/ // Return nonzero if deletion was successful. /* 3*/ // Header node is assumed. /* 4*/ template /* 5*/ int /* 6*/ List:: /* 7*/ Remove( const Etype & X ) /* 8*/ { /* 9*/ Node *Cell_To_Delete; /*10*/ if( Find_Previous( X ) ) /*11*/ { /*12*/ Cell_To_Delete = Current_Pos->Next; /*13*/ Current_Pos->Next = Cell_To_Delete->Next; /*14*/ delete Cell_To_Delete; /*15*/ return 1; /*16*/ } /*17*/ return 0; /*18*/ }