#include <iostream>
#define OK 1
#define ERROR 0
typedef char ElemType;
typedef int Status;
typedef struct DualNode
{
ElemType data;
DualNode *prior;
DualNode *next;
} DualNode, *DuLinkList;
Status InitList(DuLinkList *L)
{
DualNode *p, *q;
*L = new DualNode;
p = *L;
if(*L == NULL)
return ERROR;
(*L)->next = (*L)->prior = NULL;
for(int i = 'A'; i <= 'Z'; i++)
{
q = new DualNode;
if(q == NULL)
return ERROR;
q->data = i;
p->next = q;
q->prior = q;
p = q;
}
p->next = (*L)->next;
(*L)->next->prior = p;
return OK;
}
void Caesar(DuLinkList *L, int i)
{
if( i > 0)
{
do
{
*L = (*L)->next;
}while( --i );
}
else if( i < 0 )
{
do
{
(*L) = (*L)->next;
}while( ++i );
}
}
int main ()
{
DuLinkList L;
int i, n;
InitList(&L);
std::cout<< "请输入一个整数 :\n";
std::cin>> n;
Caesar(&L, n);
for(i = 0; i < 26; i++)
{
L = L->next;
std::cout<< L->data<< " ";
}
return 0;
}
欢迎来到我的 IT 博客 http://www.nightsong.cc
QQ:1623231307