编写一个算法程序实现在一个顺序栈中把一个字符串逆置的运算,要求使用入栈和出栈运算来完成。
编写一个算法程序实现在一个循环队列中入队2个元素,要求先建立一个循环队列,元素个数为4个,然后在循环队列的末尾加入2个元素。急用!!!!!!!!!!!!!C语言...
编写一个算法程序实现在一个循环队列中入队2个元素,要求先建立一个循环队列,元素个数为4个,然后在循环队列的末尾加入2个元素。
急用!!!!!!!!!!!!!
C语言 展开
急用!!!!!!!!!!!!!
C语言 展开
展开全部
void ReverseString(char *a,int lenth) //逆转函数
{
int i;
char c;
initstack(&s);
for(i=0;i<lenth;i++) Push(&s,a[i]);
for(i=0;i<lenth;i++) {Pop(&s,&c);a[i]=c;}
}
---------------------------------------------------------------------
typedef struct //循环队山肆列定义
{
int data[4];
int front;
int rear;
}SeqQueue;
void InitQueue(SeqQueue *Q) //初始化函数
{
Q->front=Q->rear=0;
}
int EnterQueue(SeqQueue *Q,int x) //尺仔入队逗困轿函数
{
if((Q->rear+1)%4==Q->front) return 0;
Q->data[Q->rear]=x;
Q->rear=(Q->rear+1)%4
return 1;
}
写个main函数调用两次入队即可!
{
int i;
char c;
initstack(&s);
for(i=0;i<lenth;i++) Push(&s,a[i]);
for(i=0;i<lenth;i++) {Pop(&s,&c);a[i]=c;}
}
---------------------------------------------------------------------
typedef struct //循环队山肆列定义
{
int data[4];
int front;
int rear;
}SeqQueue;
void InitQueue(SeqQueue *Q) //初始化函数
{
Q->front=Q->rear=0;
}
int EnterQueue(SeqQueue *Q,int x) //尺仔入队逗困轿函数
{
if((Q->rear+1)%4==Q->front) return 0;
Q->data[Q->rear]=x;
Q->rear=(Q->rear+1)%4
return 1;
}
写个main函数调用两次入队即可!
展开全部
用什么语言写呢
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
typedef char ElemType;
typedef struct {
ElemType *stack;
ElemType * top;
int MaxSize;
} Stack;
typedef struct {
ElemType *queue;
int front, rear;
} Queue;
void HuiWen(char str[ ]){
Queue myQueue;
Stack myStack;
char x, y;
int i, length;
length = strlen(str);
InitQueue (myQueue);
InitStack (myStack);
for ( i=0; i<length; i++ ) {
EnQueue ( myQueue, str[i] );
Push( myStack, str[i] );
}
while ( ! EmptyQueue( myQueue ) && ! EmptyStack( myStack ) )
{
x = DeQueue( myQueue ) ;
y = Pop( myStack );
if ( x!=y )
{
cout<<str<<“绝中宽不是回文培宏”<<endl;
return;
}
}
cout<<str<<“并亮是回文”<<endl;
}
typedef struct {
ElemType *stack;
ElemType * top;
int MaxSize;
} Stack;
typedef struct {
ElemType *queue;
int front, rear;
} Queue;
void HuiWen(char str[ ]){
Queue myQueue;
Stack myStack;
char x, y;
int i, length;
length = strlen(str);
InitQueue (myQueue);
InitStack (myStack);
for ( i=0; i<length; i++ ) {
EnQueue ( myQueue, str[i] );
Push( myStack, str[i] );
}
while ( ! EmptyQueue( myQueue ) && ! EmptyStack( myStack ) )
{
x = DeQueue( myQueue ) ;
y = Pop( myStack );
if ( x!=y )
{
cout<<str<<“绝中宽不是回文培宏”<<endl;
return;
}
}
cout<<str<<“并亮是回文”<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询