コード例 #1
0
ファイル: main.c プロジェクト: sunneo/libs
int main ( int argc, char *argv[] )
{
   List* list = list_create ( sizeof ( int ),EqualInt );
   int t;
   ListNode* n;
   int i;
   for ( i=0; i<10; ++i )
      list_push_back ( list,createInt ( &t,rand() ) );
   /*list_foreach(list,printInt);*/
   ListIter iter = list_get_iter ( list );
   while ( list_iter_hasNext ( iter ) )
   {
      printInt ( list_iter_next ( iter ) );
   }
   printf ( "\n" );
   list_pop_back ( list );
   list_foreach ( list,incInt );
   list_foreach ( list,printInt );
   printf ( "\n" );
   n = list_find_first_node ( list,createInt ( &t,846930887 ) );
   list_erase_node ( list,n );
   list_foreach ( list,printInt );
   list_delete ( list );
   return 0;
}
コード例 #2
0
ファイル: linked_list.c プロジェクト: Dar13/lightship
/* ------------------------------------------------------------------------- */
char
list_erase_element(struct list_t* list, void* data)
{
    struct list_node_t* current;

    assert(list);

    current = list->tail;
    while(current)
    {
        if(current->data == data)
        {
            list_erase_node(list, current);
            return 1;
        }
        current = current->next;
    }
    return 0;
}