En este artículo, discutiremos los vectores en LISP. Los vectores en LISP son arrays unidimensionales que también se conocen como secuencias. Podemos crear un vector usando la función vectorial y el símbolo #
Sintaxis :
variable_name(vector element1 element2 ... element n) or variable_name #(element1 element2 ... element n)
Ejemplo: Programa LISP para crear vectores enteros y de caracteres y mostrar
Lisp
;create a vector with 5 integer elements (setf data1 (vector 12 34 56 22 34)) ;display (write data1) (terpri) ;create a vector with 5 integer elements using # symbol (setf data1 #( 12 34 56 22 34)) ;display (write data1) (terpri) ;create a vector with 5 character elements (setf data2 (vector 'g 'e 'e 'k 's)) ;display (write data2) (terpri) ;create a vector with 5 character elements (setf data2 #( 'g 'e 'e 'k 's)) ;display (write data2)
Producción:
#(12 34 56 22 34) #(12 34 56 22 34) #(G E E K S) #('G 'E 'E 'K 'S)
Operaciones vectoriales:
En el vector dado podemos realizar dos operaciones. Están:
- operación de empuje
- operación emergente
1. Operación de empuje:
Esto se usa para insertar un elemento en un vector.
Sintaxis :
(vector-push element array_name)
dónde
- array_name es una array de entrada
- elemento es un elemento que se insertará en una array
Ejemplo: programa LISP para crear una array vacía con tamaño 10 y realizar la operación de inserción de vector
Lisp
;create an empty array with size 10 (setq my_array (make-array 10 :fill-pointer 0)) ;display array (write my_array) (terpri) ;push number 1 into array (vector-push 1 my_array) ;push number 2 into array (vector-push 2 my_array) ;push number 3 into array (vector-push 3 my_array) ;push number 4 into array (vector-push 4 my_array) ;display (write my_array)
Producción:
#() #(1 2 3 4)
2. Operación emergente:
Esta función eliminará el último elemento insertado a la vez
Sintaxis :
(vector-pop array_name)
dónde
- array_name es la array de entrada
Ejemplo: elementos POP en una array
Lisp
;create an empty array with size 10 (setq my_array (make-array 10 :fill-pointer 0)) ;display array (write my_array) (terpri) ;push number 1 into array (vector-push 1 my_array) ;push number 2 into array (vector-push 2 my_array) ;push number 3 into array (vector-push 3 my_array) ;push number 4 into array (vector-push 4 my_array) ;display (write my_array) ;pop 1 item (vector-pop my_array) (terpri) ;display array (write my_array) ;pop again 1 item (vector-pop my_array) (terpri) ;display array (write my_array)
Producción:
#() #(1 2 3 4) #(1 2 3) #(1 2)
Publicación traducida automáticamente
Artículo escrito por saisravanprojects y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA