Page 296

4.6 Listas con enlace simple

101

for (atras = NULL, aux =lista; aux != NULL; atras = aux , aux = aux ->sig) if (aux ->info == valor ) { if (atras == NULL) lista = aux ->sig; else atras->sig = aux ->sig; free(aux ); return lista; } return lista;

102 103 104 105 106 107 108 109 110 111 112

}

113 114 115 116

TipoLista borra_valor (TipoLista lista, int valor ) { struct Nodo * aux , * atras;

117

atras = NULL; aux = lista; while (aux != NULL) { if (aux ->info == valor ) { if (atras == NULL) lista = aux ->sig; else atras->sig = aux ->sig; free(aux ); if (atras == NULL) aux = lista; else aux = atras->sig; } else { atras = aux ; aux = aux ->sig; } } return lista;

118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138

}

139 140 141 142 143

TipoLista inserta_en_posicion(TipoLista lista, int pos, int valor ) { struct Nodo * aux , * atras, * nuevo; int i;

144

nuevo = malloc(sizeof (struct Nodo)); nuevo->info = valor ;

145 146 147

for (i=0, atras=NULL, aux =lista; i < pos && aux != NULL; i++, atras = aux , aux = aux ->sig) ; nuevo->sig = aux ; if (atras == NULL) lista = nuevo; else atras->sig = nuevo; return lista;

148 149 150 151 152 153 154 155

}

156 157 158 159

TipoLista inserta_en_orden(TipoLista lista, int valor ) { struct Nodo * aux , * atras, * nuevo;

160 161 162

nuevo = malloc(sizeof (struct Nodo)); nuevo->info = valor ;

163

290

Introducci´ on a la Programaci´ on con C

Profile for esLibre.com

Introducción a la programación con c  

Introducción a la programación con c  

Advertisement