使用队列删除数组中的某个值

//使用队列删除数组中所有的x
#include <stdio.h>
int main()
{
    int a[1001],n,x,i;
    //begin是第一个元素的下标
    //end是最后一个元素的后一个元素的下标
    //a[begin]~a[end]表是一个队列
    //在数组a中存了两个队列
    int begin1,end1, begin2,end2;
    scanf("%d",&n);
    for(i=0;i<n;i++)scanf("%d",&a[i]);
    scanf("%d",&x);
    //队列初始情况
    //1  b             e
    //a  6 7 8 7 9 8 0
    //2  b
    //   e
    begin1=0,end1=n;
    begin2=0,end2=0;
    while(begin1<end1)
    {
        if(a[begin1]!=x)
        {
            a[end2]=a[begin1];
            end2++;
        }
        begin1++;
    }
    while(begin2<end2)
        printf("%d ",a[begin2++]);
    getch();
    return 0;

}

 

posted @ 2020-02-18 16:45  zbit  阅读(863)  评论(0编辑  收藏  举报