【新知识】队列&bfs【洛谷p1996约瑟夫问题&洛谷p1451求细胞数量】(没

(是时候为五一培训准备真正的技术了qwq)

  • part1  队列(FIFO)
    • 算法简介:

FIFO:First In First Out(先进先出)

队列是限定在一端进行插入,另一端进行删除的特殊线性表。

允许出队的一头叫做队头(head||front),允许出队的一端称为队尾(rear||tail)所有需要进队的数据项,只能从队尾进入,队列中的数据只能从队头离去qwq。

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
int n,m,p=0,k=1;
int a[200];
int main()
{
    scanf("%d%d",&n,&m);
    int j=n;
    for(int i=1;i<n;i++)a[i]=i+1;
    a[n]=1;
    while(p<n){
        while(k<m){
            printf("%d a w i k o z i %d\n",j,a[j]);
            j=a[j];k++;//为了方便理解,这里加了两句输出
            printf("%d a y i k o y i %d\n",j,a[j]);
            puts("-------------------");
        }
        printf("我是答案qwq:%d\n",a[j]);p++;
        a[j]=a[a[j]];k=1;
    }
    return 0;
}

 

  • part2 bfs(广度优先搜索):
    • 算法描述qwq
上一篇:深入理解FIFO(包含有FIFO深度的解释)——转载


下一篇:【应用C】C语言模拟虚拟内存基本页面置换算法FIFO、OPT和LRU并比较效率(+源代码)