Skip to content

Commit a2a3365

Browse files
committed
changes readme.md
1 parent 63c03ec commit a2a3365

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

README.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
Arrays dinamicos. En definición, una implementación de vectores auto-redimensionables al estilo de lenguajes de alto nivel como C++. En este caso hemos hecho varias implementaciones de función C++ para controlar vectores pero en código C puro.
66

7+
El archivo `code.c` contiene un ejemplo usando la mayoria de las funciones implementadas.
8+
79
Las funciones implementadas son las siguientes:
810

911
```C
@@ -30,5 +32,50 @@ void __attribute__((constructor)) __constructor_array_dinamic__();
3032
void __attribute__((destructor)) __destructor_array_dinamic__();
3133
```
3234

35+
----
36+
37+
- new_vector: Esta funcion se encarga de crear un vector. Su tamaño se define con el argumento `size`. `size_data` indica el tamaño de cada elemento del vector. Supongamos que queremos inicializar un vector de tipo `double` con 5 posiciones. `new_vector(5, sizeof(double))`.
38+
39+
- print_vector_info: Esta funcion muestra informacion de un vector y de sus posiciones:
40+
41+
```C
42+
capacity: 5
43+
data: 0000024818135e80
44+
size: 0
45+
plexor: 4
46+
data[0]->data: 00000248181318a0
47+
data[0]->estado: 0000000000000000
48+
data[1]->data: 00000248181318c0
49+
data[1]->estado: 0000000000000000
50+
data[2]->data: 00000248181318e0
51+
data[2]->estado: 0000000000000000
52+
data[3]->data: 0000024818137590
53+
data[3]->estado: 0000000000000000
54+
data[4]->data: 0000024818137490
55+
data[4]->estado: 0000000000000000
56+
```
57+
Como parametros, recibe un vector.
58+
59+
- vectores_sin_usar: esta funcion indica la cantidad de vectores inicializadas por el contructor pero que el programador no solicito. La cantidad de vectores que inicializa el constructor viene dada por la macro `vectores_resb`.
60+
61+
- size: esta funcion resibe un vector como argumento y retorna el tamaño del vector.
62+
63+
- max_size: esta funcion recibe un vector y retorna la cantidad de elementos que puede contener el vector antes de tener que redimensionarse.
64+
65+
- resize: este metodo es usado por `push_bask` para redimensionar el vector en caso de necesitarlo. Este metodo permite reducir o aumentar el tamaño del vector.
66+
67+
- free_vector: esta funcion libera la memoria de un vector y sus asociadas.
68+
69+
- get_elment_v: `No se recomienda usar esta funcion de forma directa`, en su lugar es preferible usar la macro `get_elment` que proporciona un codigo mas limpio y un manejo mas simple para obtener valores. Dicha funcion recibe un vector y la posicion y retorna un valor de tipo `void*` el cual se a de castear de forma correacta.
70+
71+
- get_size_position: esta funcion retorna el tamaño de cada posicion en el vector, este valor es el mismo que el `size_data` de la funcion `new_vector`, se usa para poder reservar memoria.
72+
73+
- pop_back: elimina el ultimo elemento del vector y retorna la posicion del ultimo elemento, despues de la eliminacion. Recibe como argumento un vector.
74+
75+
- push_back: añade un elemento al final del vector y retorna la posicion de este. Adicionalmente se le pasa como segundo argumento un valor que a de ser creado mediante las macros `element_def_asg` o `element_asg` y `element_def`.
76+
77+
- empty: retorna `true` si el vector esta vacio, en caso contrario `false`. Recibe como argumento un vector.
78+
79+
- clear: limpia el vector. Recibe como argumento el vector.
3380

3481
----

0 commit comments

Comments
 (0)