第15周 啊哈算法 队列

来源:互联网 发布:李鹤年 书法 知乎 编辑:程序博客网 时间:2024/06/05 17:17

问题及答案

/*队列算法:队首删掉,第二个数放队尾,反复直到最后*/#include<stdio.h>int main(){  int a[100]={0,6,3,1,7,5,8,9,2,4};  int head,tail,i,n;  //初始化队列  head=1;  tail=10;    while(head<tail)//循环条件是队列不为空  {   printf("%d",a[head]);   head++;//队首出队   a[tail]=a[head];   tail++;//新队首放到队尾    head++;//再将队首出队  }  getchar();getchar();  return 0;}

/*同上,用队列封装结构体求解,哪里出错了,为何结果不对?*/#include<stdio.h>struct queue {  int date[100];  int head;  int tail;  };int main(){  struct queue a;  int i;   a.head=1;  a.tail=1;//初始化为空  for(i=1;i<=9;i++)   {      scanf("%d",&a.date[a.tail]);//将下一个元素放入数组     a.tail++;    }   while(a.head<a.tail)    {      printf("%d",&a.date[a.head]);      a.head++;      a.date[a.tail]=a.date[a.head];      a.tail++;       a.head++;    }   getchar();getchar();   return 0; }


0 0
原创粉丝点击