#include <iostream>#include<fstream>using namespacestd;structlinknode{intdata; Linknode*next;}; Linknode* Createlink (linknode*head) {ifstream fin; Fin.open ("List.txt"); if(!Fin) {cout<<"Open file failed ..."<<Endl; returnHead; } Linknode* Tail =NULL; intdata; while(fin>>data) {Linknode* node =NewLinknode (); Node->data =data; Node->next =NULL; //cout << data << Endl; if(head==NULL) {Head=node; Tail=node; } Else{Tail->next =node; Tail=node; } } returnHead;} Linknode* Reverselink (linknode*head) {Linknode* node =Head; Linknode* Reversehead =NULL; Linknode* Pre =NULL; Linknode* Next =NULL; while(node!=NULL) {Next= node->Next; if(Next = =NULL) {Reversehead=node; } node->next =Pre; Pre=node; Node=Next; } returnReversehead;}voidPrint (linknode*head) { if(Head = =NULL) {cout<<"Linknode is null"<<Endl; return; } Linknode* node =Head; while(node!=NULL) {cout<< Node->data <<Endl; Node= node->Next; }}intMain () {Linknode* head =NULL; Head=Createlink (head); Print (head); Head=Reverselink (head); Print (head); return 0;}
Single linked list creation and reversal