#includeusing namespace std; struct Node { int data; Node *next; }; void CreateList(Node *Head)//创建链表 { Node *p=Head; do { Node *NewNode=new Node; cin>>NewNode->data; NewNode->next=NULL; p->next=NewNode; p=NewNode; }while(cin.get()!='n');//识别到回车换行就停止输入 } void show(Node *Head)//输出数据 { Node *p; p=Head->next; while(p!=NULL) { cout< data<<' '; p=p->next; } cout< next; Head->next=NULL; while(p!=NULL) { r=p->next; p->next=Head->next; Head->next=p; p=r; } } int main() { Node *Head; Head=new Node; Head->data=0; Head->next=NULL; CreateList(Head); ReserveList(Head); show(Head); return 0; }
建议画图理解节点之间指向关系的修改过程
运行结果展示


