#include <algorithm>
#include <cstdio>
using namespace std;
int n;
struct node{
int data;
struct node *nxt;
struct node *pre;
}*head,*head1;
void creatlist(){
head = (struct node*)malloc(sizeof(struct node));
head -> data = 0,head -> nxt = NULL;
struct node *tmphead = head;
for (int i = 1;i <= n;i++){
int x;
scanf ("%d",&x);
struct node *curtr = (struct node*)malloc(sizeof(struct node));
curtr -> data = x,curtr -> nxt = NULL;
tmphead -> nxt = curtr;
tmphead = curtr;
}
}
void reverse(){
head1 = (struct node*)malloc(sizeof(struct node));
struct node *tmphead = head -> nxt;
tmphead -> pre = NULL;
while (tmphead -> nxt != NULL){
struct node *curtr = tmphead -> nxt;
curtr -> pre = tmphead;
tmphead = tmphead -> nxt;
}
head1 -> pre = tmphead;
}
int main(){
scanf ("%d",&n);
creatlist();
struct node *tmphead = head -> nxt;
while (tmphead != NULL){
printf("%d ",tmphead -> data);
tmphead = tmphead -> nxt;
}
printf("\n");
reverse();
tmphead = head1 -> pre;
while (tmphead != NULL){
printf("%d ",tmphead -> data);
tmphead = tmphead -> pre;
}
}```
标签:node,nxt,head,eh,pre,tmphead,struct
From: https://www.cnblogs.com/little-uu/p/17717241.html