Vectores en LISP

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

  1. array_name es una array de entrada
  2. 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

  1. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *