You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+47Lines changed: 47 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,8 @@
4
4
5
5
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.
6
6
7
+
El archivo `code.c` contiene un ejemplo usando la mayoria de las funciones implementadas.
- 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.
0 commit comments