大神帮忙看一下 我的这个程序那里有问题啊 程序不能输出结构 实现将环形队列倒置的功能
#include<stdio.h>#include<stdlib.h>#defineMaxsize50typedefcharElemType;typedefstruct{...
#include<stdio.h>
#include<stdlib.h>
#define Maxsize 50
typedef char ElemType;
typedef struct
{
ElemType data[Maxsize];
int front,rear;
}SqQueue;
void InitQueue(SqQueue *&q)
{
q=(SqQueue*)malloc(sizeof(SqQueue));
q->front=q->rear=0;
}
int insert(SqQueue *&q,char *a)
{ int i;
if((q->rear+1)%Maxsize==q->front)
return 0;
for(i=0;i<7;i++)
q->data[q->rear]=a[i];
q->rear=(q->rear+1)%Maxsize;
return 1;
}
void ClearQueue(SqQueue *&q)
{
free(q);
}
void dispQueue(SqQueue *q)
{
if(q->front!=q->rear)
printf("输出环形队列:\n");
printf("%c",q->data[q->front]);
q->front=(q->front+1)%Maxsize;
}
int Exchange(SqQueue *&q)
{
int n=(q->rear-q->front+Maxsize)%Maxsize;
if(q->front==q->rear)
return 0;
else
while(q->front<=n/2)
{ char temp;
temp=q->data[q->front];
q->data[q->front]=q->data[q->rear];
q->data[q->rear]=temp;
q->front=(q->front+1)%Maxsize;
}
return 1;
}
void main()
{
SqQueue *q;
char a[7]={'a','b','c','d','e','f'};
InitQueue( q);
insert(q,a);
dispQueue(q);
Exchange(q);
dispQueue(q);
} 展开
#include<stdlib.h>
#define Maxsize 50
typedef char ElemType;
typedef struct
{
ElemType data[Maxsize];
int front,rear;
}SqQueue;
void InitQueue(SqQueue *&q)
{
q=(SqQueue*)malloc(sizeof(SqQueue));
q->front=q->rear=0;
}
int insert(SqQueue *&q,char *a)
{ int i;
if((q->rear+1)%Maxsize==q->front)
return 0;
for(i=0;i<7;i++)
q->data[q->rear]=a[i];
q->rear=(q->rear+1)%Maxsize;
return 1;
}
void ClearQueue(SqQueue *&q)
{
free(q);
}
void dispQueue(SqQueue *q)
{
if(q->front!=q->rear)
printf("输出环形队列:\n");
printf("%c",q->data[q->front]);
q->front=(q->front+1)%Maxsize;
}
int Exchange(SqQueue *&q)
{
int n=(q->rear-q->front+Maxsize)%Maxsize;
if(q->front==q->rear)
return 0;
else
while(q->front<=n/2)
{ char temp;
temp=q->data[q->front];
q->data[q->front]=q->data[q->rear];
q->data[q->rear]=temp;
q->front=(q->front+1)%Maxsize;
}
return 1;
}
void main()
{
SqQueue *q;
char a[7]={'a','b','c','d','e','f'};
InitQueue( q);
insert(q,a);
dispQueue(q);
Exchange(q);
dispQueue(q);
} 展开
1个回答
展开全部
你看下这样对不
#include<stdio.h>
#include<stdlib.h>
#define Maxsize 50
typedef char ElemType;
typedef struct
{
ElemType data[Maxsize];
int front,rear;
}SqQueue;
void InitQueue(SqQueue *&q)
{
q=(SqQueue*)malloc(sizeof(SqQueue));
q->front=q->rear=0;
}
int insert(SqQueue *&q,char *a)
{ int i;
if((q->rear+1)%Maxsize==q->front)
return 0;
for(i=0;i<6;i++)
{
q->data[q->rear]=a[i];
q->rear=(q->rear+1)%Maxsize;
}
return 1;
}
void ClearQueue(SqQueue *&q)
{
free(q);
}
void dispQueue(SqQueue *q)
{
int i;
if(q->front!=q->rear)
//printf("%d_%d\n",q->rear,q->front);
printf("输出环形队列:\n");
for(i=0;i<6;i++)
{
printf("%c",q->data[i]);
}
printf("\n"); //printf("%c",q->data[q->front]);
//q->front=(q->front+1)%Maxsize;
}
int Exchange(SqQueue *&q)
{
int n=(q->rear-q->front+Maxsize)%Maxsize;
if(q->front==q->rear)
return 0;
int j = q->front;
int k = q->rear-1;
while(j<k)
{ char temp;
temp=q->data[j];
q->data[j]=q->data[k];
q->data[k]=temp;
j++;
k--;
}
return 1;
}
int main()
{
SqQueue *q;
char a[7]={'a','b','c','d','e','f'};
InitQueue( q);
insert(q,a);
dispQueue(q);
Exchange(q);
dispQueue(q);
}
#include<stdio.h>
#include<stdlib.h>
#define Maxsize 50
typedef char ElemType;
typedef struct
{
ElemType data[Maxsize];
int front,rear;
}SqQueue;
void InitQueue(SqQueue *&q)
{
q=(SqQueue*)malloc(sizeof(SqQueue));
q->front=q->rear=0;
}
int insert(SqQueue *&q,char *a)
{ int i;
if((q->rear+1)%Maxsize==q->front)
return 0;
for(i=0;i<6;i++)
{
q->data[q->rear]=a[i];
q->rear=(q->rear+1)%Maxsize;
}
return 1;
}
void ClearQueue(SqQueue *&q)
{
free(q);
}
void dispQueue(SqQueue *q)
{
int i;
if(q->front!=q->rear)
//printf("%d_%d\n",q->rear,q->front);
printf("输出环形队列:\n");
for(i=0;i<6;i++)
{
printf("%c",q->data[i]);
}
printf("\n"); //printf("%c",q->data[q->front]);
//q->front=(q->front+1)%Maxsize;
}
int Exchange(SqQueue *&q)
{
int n=(q->rear-q->front+Maxsize)%Maxsize;
if(q->front==q->rear)
return 0;
int j = q->front;
int k = q->rear-1;
while(j<k)
{ char temp;
temp=q->data[j];
q->data[j]=q->data[k];
q->data[k]=temp;
j++;
k--;
}
return 1;
}
int main()
{
SqQueue *q;
char a[7]={'a','b','c','d','e','f'};
InitQueue( q);
insert(q,a);
dispQueue(q);
Exchange(q);
dispQueue(q);
}
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询