AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de colas, pilas, listas y arrays / Funciones de colas, pilas y listas
  • Propiedades WLanguage que se pueden usar con el tipo Stack
  • Funciones del lenguaje WLanguage para gestionar pilas
  • Las pilas y el multihilo
  • Examinar las pilas
  • Casos especiales
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Una variable Stack es un tipo estructurado que se utiliza para agrupar un set de elementos del mismo tipo. Los elementos se añaden al final de la pila y se recuperan del más reciente.
Por ejemplo, si los elementos se añaden en el siguiente orden: 1, 2, 3, se recuperarán en el siguiente orden: 3, 2, 1.
Ejemplo
MyStack is Stack of int
 
// Push the values 1, 2 and 3
Push(MyStack, 1)
Push(MyStack, 2)
Push(MyStack, 3)
 
// Display the trace: 3, 2, 1
x is int
WHILE Pop(MyStack, x)
Trace(x)
END
Sintaxis

Declarar e inicializar una pila Ocultar los detalles

<Stack name> is Stack of <Type of stack elements>
<Stack name>:
Nombre de Stack Variable a declarar.
<Type of stack elements>:
Tipo de elementos que se encuentran en la pila.
Se pueden utilizar todos los tipos de variables, incluyendo la arrays, la arrays asociativa, las colas, las pilas y las listas.. Por ejemplo:
<variable> is stack of arrays of int

<variable> is stack of fixed arrays of 5 int

<variable> is stack of associative arrays of int

<variable> is stack of queues of int

<variable> is stack of stacks of int

<variable> is stack of lists of int
Observaciones

Propiedades WLanguage que se pueden usar con el tipo Stack

Las siguientes propiedades pueden utilizarse para manipular una variable de tipo Stack.
Nombre de la propiedad
Efecto
AdditionCompletedDevuelve y modifica el modo de adición de elementos.
Este Property se utiliza para el manejo de multihilos.
InstanciaDevuelve el número de apilamientos.
NbPendingThreadDevuelve el número de hebras pendientes.
Este Property se utiliza para el manejo de multihilos.
Vacío
  • True si la pila está vacía,
  • False en caso contrario.

Funciones del lenguaje WLanguage para gestionar pilas

Las siguientes funciones pueden utilizarse para manipular una variable de tipo Stack.
DeleteAllBorra todos los elementos:
  • a partir de un lenguaje WLLanguage unidimensional o bidimensional array.
  • de un array asociativo.
  • de una propiedad array de un tipo avanzado (array de eventos de gglCalendar, etc.).
  • de una cola WLanguage.
  • de una pila WLanguage.
  • de una lista WLanguage.
DeserializeDeserializa un buffer o una cadena de caracteres que contiene los datos de una clase, estructura, array (incluyendo una array asociativa ), cola, pila, lista o Variable avanzada, así como sus subelementos.
PopHace estallar un elemento de una pila.
PushEmpuja un elemento a la pila.
SerializarTransforma los siguientes elementos en un formato específico:
  • una estructura (y sus subelementos),
  • una clase (y sus subelementos),
  • y array (incluyendo el arrays asociativo),
  • a queue,
  • una pila,
  • a list.
StackInfoRecupera las características de una pila: tipos de elementos y número de elementos.

Las pilas y el multihilo

La gestión del multihilo se tiene en cuenta a la hora de añadir y eliminar un elemento (Empuje y Pop).
También tiene la posibilidad de utilizar propiedades durante una gestión multihilo, pero el resultado no es permanente.. Por ejemplo:
IF MyStack.Occurrence > 0 THEN
// The stack may be empty when the thread reaches this point
END

Examinar las pilas

La sintaxis FOR EACH se puede utilizar para navegar por las pilas. Los elementos se navegan en el orden de aparición, es decir, en el orden inverso al orden de empuje.
La sintaxis utilizada corresponde a la utilizada para la arrays:
FOR EACH [ELEMENT] <Variable> [, <Counter> [, <Counter>]] OF <Stack>
...
END
Los elementos pueden ser modificados durante la navegación. Si la pila se modifica durante una búsqueda, los elementos buscados serán los que se encontraron cuando se inicializó la búsqueda:
  • los elementos empujados después de la inicialización de la navegación no serán explorados.
  • los elementos que aparezcan después de la inicialización de la navegación seguirán siendo explorados.

Casos especiales

  • En el depurador, el contenido de la pila se muestra en orden de aparición.
  • Se puede usar una pila para escribir un parámetro de Procedure.
  • Una pila puede ser copiada por el operador '='. También tiene la posibilidad de copy R una instancia de clase o estructura que contenga una pila.
  • Una pila puede ser inicializada por una lista de elementos en orden push.
Versión mínima requerida
  • Versión 14
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/01/2023

Señalar un error o enviar una sugerencia | Ayuda local