# Vectors in LISP

• Last Updated : 26 Nov, 2021

In this article, we will discuss Vectors in LISP. Vectors in LISP are one-dimensional arrays which are also known as sequences. We can create a vector using vector function and # symbol

Syntax:

```variable_name(vector element1 element2 ... element n)
or
variable_name #(element1 element2 ... element n)```

Example: LISP Program to create integer and character vectors and display

## 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)`

Output:

```#(12 34 56 22 34)
#(12 34 56 22 34)
#(G E E K S)
#('G 'E 'E 'K 'S)```

## Vector operations:

In the given vector we can perform two operations. They are:

• push operation
• pop operation

### 1. Push Operation:

This is used to insert an element into a vector

Syntax:

`(vector-push element array_name)`

where

1. array_name is an input array
2. element is an element to be pushed in an array

Example: LISP Program to create an empty array with size 10 and perform the vector push operation

## 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)`

Output:

```#()
#(1 2 3 4)```

### 2. Pop Operation:

This function will remove the last inserted element at a time

Syntax:

`(vector-pop array_name)`

where

1. array_name is the input array

Example: POP items in an 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)`

Output:

```#()
#(1 2 3 4)
#(1 2 3)
#(1 2)```

My Personal Notes arrow_drop_up