#include #include #include typedef struct { int i, j; int coef; }entry_t; std::list LIS; std::list LIP; std::list LSP; void Test0() { LIS.push_back( {7,8,9} ); LIS.push_front( {1,2,3} ); LIS.insert(++LIS.begin(), {4,5,6} ); LIS.push_back( {10,11,12} ); LIS.push_back( {13,14,15} ); LIS.insert(--LIS.end(), {4,5,6} ); } void PrintLIS() { std::list::iterator iter; printf("\nPrintLIS() : \n"); for( iter = LIS.begin() ; iter != LIS.end() ; ++iter) { printf("%d %d %d \n", iter->i, iter->j, iter->coef); } printf("\n"); } void Destroy(int i, int j) { std::list::iterator iter; int step = 0; printf("Destroy entries (%d,%d,xxxx)\n", i, j); for( iter = LIS.begin() ; iter != LIS.end() ; ++iter, ++step) { printf(" Test entry %d (%d,%d,%d) with (%d,%d,xxxx): ", step, iter->i, iter->j, iter->coef, i, j ); if( (iter->i == i) && (iter->j == j) ) { LIS.erase(iter); printf("erased \n"); break; } else { printf("no erased \n"); } } } int main(int argc, char **argv) { Test0(); PrintLIS(); Destroy(4,5); PrintLIS(); Destroy(4,5); PrintLIS(); return(0); }