#ifndef LINK1_H #define LINK1_H #include #include struct Node { typedef int Item; Item data; Node *link; }; size_t list_length(Node* head_ptr); void list_head_insert(Node*& head_ptr, const Node::Item& entry); void list_insert(Node* previous_ptr, const Node::Item& entry); Node* list_search(Node* head_ptr, const Node::Item& target); Node* list_prev_locate(Node* head_ptr, const Node::Item& target); Node* list_prev_search(Node* head_ptr, Node* target); Node* list_locate(Node* head_ptr, size_t position); void list_head_remove(Node*& head_ptr); void list_node_remove(Node* previous_ptr); void list_clear(Node*& head_ptr); void list_copy(Node* source_ptr, Node*& head_ptr, Node*& tail_ptr); void list_piece(Node* start_ptr, Node* end_ptr, Node*& head_ptr, Node*& tail_ptr); //void print_list(Node* head_ptr); void print_list(Node* head_ptr, ofstream& fout); void print_list(Node* head_ptr); Node* list_tail_search(Node* head_ptr); #endif