#include <stdio.h> #include <assert.h> #include <stdlib.h>typedef int datatype;typedef struct SListNode{ DataType data; struct Slistnode* next;} Slistnode; Slistnode* buynode (datatype x) { slistnode* next = (SListNode*) malloc (sizeof (Slistnode)); next->data = x; next- >next = null; return next;} Void pushback (slistnode* & pphead, datatype x) { if ( Pphead == null) { ppHead = buynode (x); } else { SListNode* tail = ppHead; while (tail->next != null) { tail = tail->next; } tail->next = buynode (x); }}//Reverse reversal single-linked list Void pushfront (slistnode* & pphead,datatype x) { slistnode* cur = buynode (x); cur->next = pphead ; pphead = cur;} Void printsnodelist (Slistnode* pphead) { while (ppHead) { printf ("%d->", pphead->data); ppHead = ppHead->next; } printf ("\ n");} Void test3 () { slistnode* List = null; pushfront (list, 1); pushfront (List, &NBSP;2); pushfront (list, 3); pushfront (List, 4); pushfront (list, 5); printsnodelist (List);} Int main () { test3 (); system ("Pause"); return 0;}
C language: "Single linked list" reverse inverted single linked list