Scheme Programming/Vector Operations

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Creating Vectors[edit | edit source]

> (vector 1 2 3 4 5)
#(1 2 3 4 5)
> (define v (vector 1 2 3 4 5))
#<unspecified>

Vector Manipulation[edit | edit source]

Accessing Elements[edit | edit source]

> (vector-ref (vector 1 2 3 4 5) 3)
4
> (vector? (vector 1 2 3 4 5))
#t

Vector-ref takes two arguments, a vector and a valid index of the vector, and returns the element at that index.

Notice how the vector is zero indexed. I.e. the first element of a vector is referenced by number 0.

Modifying Elements[edit | edit source]

> (define my-vector (vector 1 2 3 4 5))
#<unspecified>
> (vector-set! my-vector 3 'a)
#<unspecified>
> my-vector
#(1 2 3 a 5)