#include <iostream> #include <fstream> using namespace std; struct LinkNode { int data; LinkNode* next; }; LinkNode* createLink(LinkNode* head) { ifstream fin; fin.open("list.txt"); if(!fin){ cout << "open file failed......" << endl; return head; } LinkNode* tail = NULL; int data; while(fin>>data){ LinkNode* node = new LinkNode(); node->data = data; node->next = NULL; //cout << data << endl; if(head==NULL){ head=node; tail=node; } else{ tail->next = node; tail = node; } } return head; } 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; } return reverseHead; } void print(LinkNode* head) { if(head == NULL){ cout << "linknode is null" <<endl; return; } LinkNode* node = head; while(node!=NULL){ cout << node->data <<endl; node = node->next; } } int main() { LinkNode* head = NULL; head = createLink(head); print(head); head = reverseLink(head); print(head); return 0; }