Winter vacation project 1-Dynamic Linked List experience (transformation) (3), winter vacation 1-
/** Copyright (c) 2014, School of Computer Science, Yantai University * All rights reserved. * file name: test. cpp * Author: Liu Chang * completion date: January 21, 2015 * version No.: v1.0 ** Problem description: modifying the linked list in the blog example. * Input Description: Enter n (n is the node data ). * Program output: output dynamic linked list
(3) Compile the delete_first_node () function to delete the first node in the linked list.
# Include <iostream> # include <cstdio> using namespace std; struct Node {int data; // the data of the Node struct Node * next; // points to the next Node }; node * head = NULL; // define the head of the linked list as a global variable for subsequent operations void make_list2 (); // create the void out_list (); // output linked list void delete_first_node (); // Delete the first node int main () {make_list2 (); out_list (); delete_first_node (); out_list (); return 0 ;} void make_list2 () {int n; Node * p, * q; // p is used to point to the newly created Node, q points to cout at the end of the linked list. <"Enter positive numbers (end with 0 or a negative number) Create a linked list: "<endl; cin> n; while (n> 0) {p = new Node; // create a new Node p-> data = n; // put n into the data member of the new node p-> next = NULL; // leave the next pointed by the pointer P empty if (head = NULL) head = p; else q-> next = p; q = p; // link p to the end of the table cin> n;} return;} void out_list () {Node * p = head; cout <"the data in the linked list is:" <endl; while (p! = NULL) {cout <p-> data <"; p = p-> next;} cout <endl; return;} void delete_first_node () {Node * p = head; if (p! = NULL) {head = p-> next; delete p; cout <"the first node has been deleted... "<Endl;} else cout <" Empty linked list, cannot be deleted... "<Endl ;}
Running result:
Zookeeper