STL cola muy simple! ! !

¿Qué son las colas?

Una cola es una forma lineal especial, es especial en que sólo permite su eliminación en el extremo frontal de la mesa, mientras que el extremo posterior de la mesa de operaciones de inserción.

Y la pila como la cola es una tabla de funcionamiento lineal limitado. Conocido como el extremo de cola del extremo, operación de eliminación se conoce como operación de cabeza de inserción.

- Enciclopedia de Baidu

Cola, en términos simples, es la línea de datos (sin sentido).

Analogía, para comprar cosas en el supermercado, estamos asumiendo que el cajero, los clientes hacen cola, después de que todos llegó a ser final de la línea, y dejan las personas que siempre están clasificados en el primer equipo,

Esta es una cola, cada cliente es un elemento, cada elemento en la cola para entrar en el final, fuera de la cabeza de la cola.

Cola Cuál es el papel?

Puedo ser muy irresponsable decir, esta cosa es en sí mismo ninguna cola con huevos (me siento), pero! ! !

Colas y algunos algoritmos importantes están estrechamente relacionados, tales como la búsqueda, la búsqueda de nuevo, y por extensión de la teoría de grafos y binarios relacionados, por lo que la cola es muy importante.

(Dos amplia búsqueda aquí BB)

Amplia búsqueda algoritmo de aplicación es probablemente, desde un punto de partida, el punto de partida de todo esto se puede calcular de manera que entran en la cola, y luego uno a uno fuera de la cola, considerado posible, guarde los resultados ......

Amplia búsqueda para encontrar el camino más corto con respecto a la búsqueda profunda tiene una gran ventaja, ya que una vez encontrado una amplia buscar el más corto, lo hará de inmediato la búsqueda de parada, esto ahorra mucho tiempo. La profunda necesidad de buscar en todo el mapa se completa la búsqueda, con el fin de dar los resultados.

Después de una extensa búsqueda va a escribir mi blog (siempre que puedo aprender)

Cola de cómo escribir código?

C ++ en un pase, el editor de código escritas a mano son colas, arrays y punteros. Por supuesto, también recomiendo escrito hasta (debido carrera rápida), pero! ! ! Dicha escritura es mucho tiempo!

Así, el evento principal de hoy vino, ya que c ++ nos da una función de cola especial, ¿por qué no?

¡cola!

es una cola de C ++ nos proporciona la cola, y el apoyo a un conjunto de funciones, con muy fragante! ! !

# include <cola>

formato de declaración

cola <int> q; (<> medio de cualquier tipo de datos que desea que su nombre de la cola final)

El primer documento, las siguientes funciones principales

q.push () añade un elemento en el equipo

q.pop () aparecerá un elemento de la cola (se puede pensar es eliminar)

q.front () para acceder a la cabecera de la cola

q.back () para acceder a la cola de la cola

q.empty () si la cola está vacía, de vuelta verdad

q.size () devuelve el número de elementos en la cola

Los ejemplos! ! !

Debido a una cola pregunta inocente, un examen de pasar casi no tan simple en ambas preguntas, en este blog el agua tratada (escape

ybt1332

Descripción [title]

Suponiendo que el partido de fin de semana, los hombres y mujeres que entran en el salón de baile, cada fila. Cuando comenzó el baile, seguido por los equipos de hombres y de las mujeres cabeza de cada uno de los uno de los socios doblada.

Se requiere que cada uno puede bailar con una pareja de bailarines. Si el número inicial de los equipos no es la misma, los que espera del equipo no apareados más largos para la próxima ronda de baile. Es necesario escribir un programa para simular los problemas anteriores de facilitación de parejas.

[Enter]

El número de la primera línea de los dos equipos;

El número de la segunda línea de la danza.

[Salida]

El emparejamiento.

 

La cola clásica pregunta!

Suponemos que los hombres y las mujeres están en una cola, dejarlos reposar un equipo bueno, entonces titular de la cola de cada elemento de salida, entonces este elemento en el primer equipo, el último elemento de la primera pop-up del equipo a la revista OK!

El Código!

#include<iostream>
#include<queue>
using namespace std;
int main()
{
    queue<int>q;//声明队列
    queue<int>p;
    int man,wom,n;
    cin>>man>>wom>>n;
    for (int i=1;i<=man;i++)
    {
        q.push(i);//男士入队
    }
    for (int i=1;i<=wom;i++)
    {
        p.push(i);//女士入队
    }
    for (int i=1;i<=n;i++)
    {
        cout<<q.front()<<" "<<p.front()<<endl;//访问队首元素并输出,即为配对成功
        q.push(q.front());//把队首元素入队
        p.push(p.front());
        q.pop();//弹出队首元素
        p.pop();
    }
    return 0;
}

 

怎么样,是不是很简单???

那么我们看白皮书上给的代码!

#include<cstdio>
#include<iostream>
using namespace std;
int a[10001],b[10001],k1=1,k,i,f1=1,r1,f2=1,r2;//k1是计数器 
int main()
{
    int m,n;
    cin>>m>>n;
    for (i=1;i<=m;i++)
    {
        a[i]=i;//入队 
    }
    for (i=1;i<=n;i++)
    {
        b[i]=i;    
    }
    cin>>k;
    r1=m;//r1/r2负责在队尾插入元素 
    r2=n;
    while(k1<=k)
    {
        printf("%d %d\n",a[f1],b[f2]);
        r1++;a[r1]=a[f1];f1++;//f1/f2是指针,指向第k1轮输出的元素 
        //第一次a[m+1]=a[1]=1,第二次a[m+2]=a[2]=2,如此循环 
        r2++;b[r2]=b[f2];f2++;
        //第一次b[n+1]=b[1]=1,第二次b[m+2]=b[2]=2,如此循环
        k1++; 
    }
    return 0;
}

相比之下,手写队列的变量显然较多(因为要有指针,入队操作)

我们用queue函数库里的函数就可以让我们的代码变得清爽啦!!!

是不是很香呢???

像我一样的新手赶紧用起来吧!!!(逃)

最后,水一下博文长度,上一个疑似队列的题(个人感觉)

ybt 1334

 

题目描述】

 

n个人依次围成一圈,从第1个人开始报数,数到第mmm个人出列,然后从出列的下一个人开始报数,数到第m个人又出列,…,

如此反复到所有的人全部出列为止。设n个人的编号分别为1,2,3,4,5……12

请你打印出列的顺序。

 

【输入】

 

n

n和mm

 

【输出】

 

出列的顺序。

上代码

//1334第二队列
#include<iostream>
using namespace std;
int duilie[110];
int main()
{
    int n,num,kkk=1,zhizhen=1;
    cin>>n>>num;
    for (int i=1;i<=n;i++)
    {
        duilie[i]=i;
    }
    if (num==1)
    {
        for (int i=1;i<=n;i++)
        {
            cout<<duilie[i]<<" ";    
        }
        return 0;
    }
    while (1)
    {
        kkk++;
        zhizhen++;
        if (zhizhen==n+1)
        {
            zhizhen=1;
        }
        if (kkk==num)
        {
            cout<<duilie[zhizhen]<<" ";
            for (int j=zhizhen;j<n;j++)
            {
                duilie[j]=duilie[j+1];
            }
            if (zhizhen==n)
            {
                zhizhen=1;
            }
            kkk=1;
            n--;
        }
        if(n==0)
        {
            break;
        }
    }
    return 0;
}  

注解,,,额,实在是困了,懒得写了,相信各位大佬都能看懂吧……(逃)

12点了,晚安,睡觉去了。

 

Supongo que te gusta

Origin www.cnblogs.com/zaza-zt/p/12528427.html
Recomendado
Clasificación