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
* - Muestra ejemplos de creación de todas las estructuras soportadas por defecto en tu lenguaje.
4
+
* - Utiliza operaciones de inserción, borrado, actualización y ordenación.
5
+
*
6
+
* DIFICULTAD EXTRA (opcional):
7
+
* Crea una agenda de contactos por terminal.
8
+
* - Debes implementar funcionalidades de búsqueda, inserción, actualización y eliminación de contactos.
9
+
* - Cada contacto debe tener un nombre y un número de teléfono.
10
+
* - El programa solicita en primer lugar cuál es la operación que se quiere realizar, y a continuación
11
+
* los datos necesarios para llevarla a cabo.
12
+
* - El programa no puede dejar introducir números de teléfono no númericos y con más de 11 dígitos.
13
+
* (o el número de dígitos que quieras)
14
+
* - También se debe proponer una operación de finalización del programa.
15
+
*/
16
+
17
+
<?php
18
+
/* Primetra Estructura de Datos Listas Enlazadas Clase SplDoublyLinkedList
19
+
-- La clase SplDoublyLinkedList proporciona las principales funcionalidades de una lista doblemente enlazada. */
20
+
21
+
$spldll = newSplDoublyLinkedList;
22
+
23
+
/* Add A New Value */
24
+
$spldll->add(0, "0");
25
+
$spldll->add(1, "1");
26
+
$spldll->add(2, "3");
27
+
$spldll->add(3, "10");
28
+
29
+
/* Update A Value */
30
+
$spldll->offsetSet(2, "2");
31
+
32
+
print_r($spldll);
33
+
34
+
/* Delete A Value */
35
+
$spldll->offsetUnset(3);
36
+
print_r($spldll);
37
+
38
+
/* Segunda Estructura de Datos Listas Enlazadas Clase SplQueue
39
+
-- La clase SplStack proporciona la funcionalidad principal de una pila implementada mediante una lista doblemente enlazada estableciendo el modo iterador a SplDoublyLinkedList::IT_MODE_LIFO. */
40
+
41
+
$splstack = newSplStack;
42
+
43
+
/* Add A New Value */
44
+
$splstack->add(0, "0");
45
+
$splstack->add(1,"10");
46
+
$splstack->add(2, "20");
47
+
48
+
print_r($splstack);
49
+
50
+
/* Update A Value */
51
+
$splstack->offsetSet(0, "1");
52
+
53
+
print_r($splstack);
54
+
55
+
/* Delete A Value */
56
+
$splstack->offsetUnset(2);
57
+
58
+
print_r($splstack);
59
+
60
+
/* Tercera Estructura de Datos Listas Enlazadas Clase SplStack
61
+
-- La clase SplQueue proporciona las principales funcionalidades de una cola implementada usando una lista doblemente enlazada al estableciendo el modo del iterador a SplDoublyLinkedList::IT_MODE_FIFO. */
62
+
63
+
$splqueue = newSplQueue;
64
+
65
+
/* Add A New Value */
66
+
$splqueue->add(0, "0");
67
+
$splqueue->add(1,"10");
68
+
$splqueue->add(2, "20");
69
+
70
+
print_r($splqueue);
71
+
72
+
/* Update A Value */
73
+
$splqueue->offsetSet(0, "1");
74
+
75
+
print_r($splqueue);
76
+
77
+
/* Delete A Value */
78
+
$splqueue->offsetUnset(2);
79
+
80
+
print_r($splqueue);
81
+
82
+
/* Cuarta Estructura de Datos Listas Enlazadas Clase SplMaxHeap
83
+
-- La clase SplMaxHeap proporciona la funcionalidad principal de un montículo, manteniendo el máximo en la parte superior. */
84
+
85
+
$splmaxheap = newSplMaxHeap;
86
+
87
+
/* Add A New Value */
88
+
$splmaxheap->insert("1");
89
+
$splmaxheap->insert("10");
90
+
$splmaxheap->insert("20");
91
+
92
+
print_r($splmaxheap);
93
+
94
+
/* Delete A Value */
95
+
$splmaxheap->next();
96
+
97
+
print_r($splmaxheap);
98
+
99
+
/* Quinta Estructura de Datos Listas Enlazadas Clase SplMinHeap
100
+
-- La clase SplMinHeap proporciona la funcionalidad principal de un montículo, manteniendo el mínimo en la parte superior.. */
101
+
102
+
$splminheap = newSplMinHeap;
103
+
104
+
/* Add A New Value */
105
+
$splminheap->insert("1");
106
+
$splminheap->insert("10");
107
+
$splminheap->insert("20");
108
+
109
+
print_r($splminheap);
110
+
111
+
/* Delete A Value */
112
+
$splminheap->next();
113
+
114
+
print_r($splminheap);
115
+
116
+
/* Sexta Estructura de Datos Listas Enlazadas Clase SplFixedArray
117
+
-- la clase SplFixedArray proporciona la funcionalidad principal de un array. La principal diferencia entre SplFixedArray y un array normal de PHP es que la clase SplFixedArray es de longitud fija y sólo permite enteros dentro del rango de índices. La ventaja es que usa menos memoría que un array estándar. */
118
+
119
+
$splfixedarray = newSplFixedArray(4);
120
+
121
+
/* Add a new Value */
122
+
$splfixedarray[0] = 0;
123
+
$splfixedarray[1] = 1;
124
+
$splfixedarray[2] = 2;
125
+
$splfixedarray[3] = 4;
126
+
127
+
print_r($splfixedarray);
128
+
129
+
/* Update a new Value */
130
+
$splfixedarray->offsetSet(3,3);
131
+
132
+
print_r($splfixedarray);
133
+
134
+
/* Delete a new Value */
135
+
$splfixedarray->offsetUnset(3);
136
+
137
+
print_r($splfixedarray);
138
+
139
+
/* Septima Estructura de Datos Listas Enlazadas Clase SplObjectStorage
140
+
-- La clase SplObjectStorage proporciona una correspondencia de objetos de datos o, ignorando los datos, un conjunto de objetos. Este doble propósito puede ser útil en muchos casos relacionados con la necesidad de identificar objetos de forma única.*/
141
+
142
+
$splobjectstorage = newSplObjectStorage;
143
+
144
+
$object_1 = newstdClass;
145
+
$object_2 = newstdClass;
146
+
147
+
/* Add a new Object */
148
+
$splobjectstorage[$object_1] = array(0,1,2);
149
+
$splobjectstorage->attach($object_2, "Hello");
150
+
151
+
print_r($splobjectstorage);
152
+
153
+
/* Update a Object */
154
+
$splobjectstorage->offsetSet($object_2, "Hola");
155
+
156
+
print_r($splobjectstorage);
157
+
158
+
/* Delete a Object */
159
+
$splobjectstorage->offsetUnset($object_2);
160
+
161
+
print_r($splobjectstorage);
162
+
163
+
/* Ejercicio de Agenda de Contactos */
164
+
165
+
echo"Bienvenido a la Agenda de Contactos.\n";
166
+
echo"Las Opciones que se pueden realizar son las siguientes:\n";
167
+
echo"Ver Lista de Contactos. Coloca 1.\n";
168
+
echo"Buscar un Contacto en la Lista. Coloca 2.\n";
0 commit comments