4D v16.3Find in sorted array |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Find in sorted array
Find in sorted array
Tema: Arrays El nuevo comando Find in sorted array devuelve true si al menos un elemento en el array ordenado con el valor y opcionalmente devuelve la posición de los elementos correspondientes. A diferencia de Find in array, Find in sorted array sólo funciona con un array ordenado y ofrece información sobre la posición de las ocurrencias, lo que le permite insertar elementos si es necesario. El array debe estar ya ordenado y debe coincidir con el orden especificado por el parámetro > or < (es decir, el símbolo "mayor que" para el orden ascendente y el símbolo "menor que" para el orden descendente). El comando Find in sorted array tomará ventaja de la ordenación y uso de un algoritmo de búsqueda binaria, que es mucho más eficiente para grandes arrays (para más información, consulte la página algoritmo de búsqueda binaria en Wikipedia). Sin embargo, si el array no está ordenado correctamente, el resultado puede ser incorrecto. El comando ignorará la indicación de ordenación y se comporta como un Find in array estándar (búsqueda secuencial, devolviendo -1 para posPrim y posUlt si no se encuentra el valor) en cualquiera de los siguientes casos:
En caso de que el comando devuelva False, el valor devuelto en posPrim se puede pasar a INSERT IN ARRAY para insertar el valoren el array manteniendo el array ordenado. Esta secuencia es más rápida que la inserción de un nuevo elemento al final del array y luego llamar a SORT ARRAY para moverlo al lugar correcto. Usted desea insertar un valor, si es necesario, manteniendo el array ordenado: C_LONGINT($pos)
C_LONGINT($posFirst ;$posLast)
Ver también
|
PROPIEDADES
Producto: 4D HISTORIA
Creado por: 4D v14 R4 ARTICLE USAGE
Manual de lenguaje 4D ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||