C语言,用数组实现队列的入队,出队函数编程

假设数组a[10],有一系列坐标点(x,y)多于10个,依次加入到数组a[0],a[1]....,队列到a[10],第12个坐标点,加入到a[10],原本a[10]的坐标... 假设数组a[10],有一系列坐标点(x,y)多于10个,依次加入到数组a[0],a[1]....,队列到a[10],第12个坐标点,加入到a[10],原本a[10]的坐标点数值移到a[9],原本的a[9]的坐标点数值移到a[8],依次类推,原本第a[0]的坐标点数值移出队列 展开
 我来答
狂盗一枝梅
2014-02-27 · TA获得超过123个赞
知道答主
回答量:131
采纳率:100%
帮助的人:50.9万
展开全部

这样的话应该符合你的要求:

#include<stdio.h>
void add(int queue[],int x);
int Top(int queue[]);
void del(int queue[]);
int end=0;
int main()
{
 int n;
 scanf("%d",&n);//将要入队列n个元素
 int queue[1000];
 for(int i=1;i<=n;i++)//输入n个元素
 {
  add(queue,i);//将i加入队列
 }
 //验证加入队列的元素,将队列中的元素按照输入的顺序输出:
 for( i=1;i<=n;i++)
 {
  printf("%d ",Top(queue));//Top函数返回队头元素
  del(queue);//删除队头元素
 }
 //验证输出已经出队列后的队列(数组)元素:
 printf("\n");
 for(i=1;i<=n;i++)
  printf("%d ",queue[i]);
 printf("\n");
 return 0;
}
void add(int queue[],int x)
{
    queue[++end]=x;
}
int Top(int queue[])
{
    return queue[1];//注意,这里的函数始终return queue[1];这里是和将普通数组中的元素输出最大的不同之处。!!!!!!
}
void del(int queue[])
{
    for(int i=2;i<=end;i++)
 {
  queue[i-1]=queue[i];
 }
 queue[end]=0;//将删除后的地方置0
 end--;
}
千神由香
2014-02-27 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:93
采纳率:0%
帮助的人:103万
展开全部
for(i=0; i < 9; i++)
a[i] = a[i+1];
a[i] = ...;
你得像这样正向移
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式