Lista desordenada - lista

  # Explica brevemente, y luego centrarse en el código. 

1
"" " 2 lista desordenada - Lista 3 se construye a partir de un conjunto de entradas, manteniendo la posición relativa de otros elementos cada principales, las cadenas de tiendas 4. 5. Estructura: 6 nodo: región de datos y la región puntero comprende (una posición en el elemento de almacenamiento, o punto al siguiente elemento) 7 de almacenamiento de lista: entre los nodos están conectados por punteros 8. 9. ideas: 10 nodos: Dado que una pluralidad de componentes, naturalmente pensar Clase utiliza para empaquetar troquel 11 puntero: puntero hay concepto de Python, de hecho, el concepto de "=" es "punto", y 12 es decir, variables de Python es C valor de puntero idioma no se almacena, pero variable de coma dirección 13 por lo tanto variables de Python no tiene que ser declarado para apuntar directamente, ya que no se deposita valor pero mantener el puntero 14 15 "" " 16 17. 18 es clase el nodo: . 19 " ""Clase Node "" " 20 es 21 es DEF la __init__ (Self, init_data): 22 es self.data = init_data 23 es self.next = Ninguno 24 25 26 es clase UnorderedList: 27 DEF la __init__ (Self): 28 self.cabeza = Ninguno 29 30 DEF is_empty (Self): 31 es el retorno self.cabeza eS Ninguno 32 33 es DEF el Add (Ser, elemento): 34 es "" " nodo de elemento de inserción lista cabeza " "" 35 = Nodo del nodo (punto) 36 # recomienda puntero dibujo está conectado a entender y escisión procesa 37 [ 38 es # 1. Permitir junto puntero nodo apuntando cabeza 39 node.next = self.cabeza 40 # puntos de la cabeza 2. Sea nodo 41 es Ser = .head nodo 42 es 43 es DEF tamaño (Self): 44 es "" " atravesar nodo, y contar el número de nodos " "" 45 COUNT = 0 46 es # build un cursor actual, inicialmente apunta al primer nodo, y luego se mueve secuencialmente de nuevo 47 actual = self.cabeza 48 al tiempo actual ES NoNinguno: 49 . COUNT = 1 + 50 actual = current.next # cursor 51 es 52 es retorno COUNT 53 es 54 es DEF Buscar (Self, Elemento): 55 "" " elemento de detección está en la lista " "" 56 es actual = self.cabeza 57 es el tiempo actual eS No Ninguno: 58 # cada vez que el cursor se mueve, se determina para tomar el valor de nodo se compara con el valor 59 IF current.data == artículo: 60 de retorno verdadero 61 es actual = current.next #Mover el cursor hacia atrás 62 63 retorno Falso 64- 65 DEF Remove (Ser, del programa): 66 "" " nodo borrado " "" 67 Corriente = self.cabeza 68 Antes, = Ninguno # siguen en curso, apuntando a su nodo anterior 69 70 encontró = falso # bandera se encuentra 71 es al mismo tiempo no se encontró: 72 # mover el cursor, y luego buscar el bucle de salida 73 es iF current.data == artículo: 74 encontrado = Verdadero 75 la otra cosa : 76 # No se encuentra, Prior primera punto actual, a continuación, para mover cada vez que la hora actual, piror un cambio siguió 77 anteriores = actuales 78 = actuales current.next 79 80 # si desea quitar el nodo principal, entonces el punto de nodo de cabecera , el siguiente nodo que desea borrar 81 IF Antes iS Ninguno: 82 self.cabeza = current.next 83 la otra cosa : 84 # directamente current.next Antes del corte desde el punto 85 prior.next = current.next 86 87 88 89 90 SI el __name__ == '__main__ ' : 91 # prueba 92 my_list = UnorderedList () 93 94 my_list.add (666 ) 95 my_list.add (999 ) 96 my_list.add (888 ) 97 98 de impresión (my_list.size ()) 99 de impresión (my_list.search (999 )) 100 101 my_list.remove (999 ) 102 de impresión (my_list.search (999))

salida: 

3
Cierto
Falso

Esto es relativamente sencillo, basta con hacer una nota de ello, principalmente debido a su propia repente olvidar. 

Supongo que te gusta

Origin www.cnblogs.com/chenjieyouge/p/12520038.html
Recomendado
Clasificación