Reverse placement of linked lists (bored and written)
Requirement: create a chain table with a header node, and then reverse the chain table... The main point is to change the insert mode ..
Code:
# Include
# Include
# Include
# Include
# Include
# Include
# Include
# Include
# Define eps 1e-9 # define ll long # define INF 0x3f3f3fusing namespace std; struct node {int data; struct node * next;}; void Readout (struct node * head) {printf ("linked list: \ n"); struct node * p; p = head-> next; while (p! = NULL) {printf ("% d", p-> data); p = p-> next;} printf ("\ n ");} void Readin (struct node * head) {int val; struct node * p, * ly, * q; p = head-> next; head-> next = NULL; ly = head; printf ("Please input element: \ n"); for (int I = 1; I <= 5; I ++) {scanf ("% d ", & val); p = (struct node *) malloc (sizeof (struct node); p-> data = val; p-> next = NULL; ly-> next = p; ly = p ;}} void Reverage (struct node * head) {struct node * p, * q; p = head-> next; head-> next = NULL; While (p! = NULL) {q = p; p = p-> next; q-> next = head-> next; head-> next = q ;}} int main () {struct node * head; head = (struct node *) malloc (sizeof (struct node); Readin (head); Readout (head); Reverage (head ); readout (head); return 0;}/* 1 2 3 4 5 */