#include<stdio.h>
#include<stdlib.h>
#define Maxsize 50
typedef struct Dnode{
int data;
struct Dnode *prior;
struct Dnode *next;
}Dnode,*DList;
void createListH(DList &L){
L=(Dnode *)malloc(sizeof(Dnode));
L->next=NULL;
L->prior=NULL;
Dnode *s;
int i;
scanf("%d",&i);
while(i!=999){
s=(Dnode *)malloc(sizeof(Dnode));
s->data=i;
s->next=L->next;
if(s->next!=NULL) //´´½¨Ê±×îÖØÒªµÄ¾ÍÊÇÕâÀҪ²»È»»á³öÏÖÄÚ´æ´íÎó£¬ÒòΪµ±L->nextΪNULLµÄʱºò£¬s->next¸ù±¾ÕÒ²»µ½
s->next->prior=s;
L->next=s;
s->prior=L;
scanf("%d",&i);
}
}
void createListF(DList &L){
L=(Dnode *)malloc(sizeof(Dnode));
L->next=NULL;
L->prior=NULL;
Dnode *s;
Dnode *p;
p=L;
int i;
scanf("%d",&i);
while(i!=999){
s=(Dnode *)malloc(sizeof(Dnode));
s->data=i;
p->next=s;
s->prior=p;
s->next=NULL;
p=p->next;
scanf("%d",&i);
}
}
void Insert(DList &L,int n,int e){
Dnode *s,*p;
p=L;
int i=0;
s=(Dnode *)malloc(sizeof(Dnode));
s->data=e;
while(p!=NULL&&i<n-1){
p=p->next;
i++;
}
s->next=p->next;
if(p->next!=NULL)
p->next->prior=s;
p->next=s;
s->prior=p;
}
bool DeleteNode(DList &L,int n){
Dnode *p=L;
Dnode *q;
int i=0;
if(n<=0)
return false;
while(p!=NULL&&i<n-1){
p=p->next;
i++;
}
if(p==NULL)
return false;
q=p->next;
if(q==NULL)
return false;
p->next=q->next;
if(q->next!=NULL)
p->next->prior=p;
free(q);
return true;
}
void reverse(DList &L){ //Á´±íÖеķ´×ªÒ»°ã¶¼ÊÇ¿¼Í·²å·¨
Dnode *p,*q;
p=L->next;
L->next=NULL; //ÕâÒ»²½×îÖØÒª£¬´´½¨Ò»¸öûÓÐÊ×½ÚµãµÄÁ´±í
while(p!=NULL){
q=p->next;
p->next=L->next;
if(L->next!=NULL)
L->next->prior=p;
L->next=p;
p->prior=L;
p=q;
}
}
void Traverse(DList &L){
Dnode *p;
p=L->next;
while(p!=NULL){
printf("%d",p->data);
p=p->next;
}
}
int main(){
DList L;
createListF(L);
// DeleteNode(L,2);
// Traverse(L);
reverse(L);
Traverse(L);
}```
06-02
348
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
01-26
1万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
10-29
1884
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交