Ejercicios de estructura de datos: lista enlazada individualmente (1)

primera pregunta

Hay una lista L enlazada individualmente con un nodo principal, y un algoritmo está diseñado para hacer que sus elementos aumenten en orden

Ideas

Primero copie los datos de la lista vinculada a la matriz y luego use cualquiera de los ocho tipos en la matriz para ordenar, y luego use el método de interpolación de cola para insertar en la lista vinculada

Void sort(LinkList &L){
    
    
	LNode *p=L->next,*pre;
	LNode *r=p->next,*
	p->next = NULL;
	p=r;
	while(pre->next!=NULL&&pre->next->data<p->data){
    
    
		pre=pre->next;
		p->next = pre->next;
		pre->next = p;
		p=r;
	}
}

Segunda pregunta

Intente escribir un algoritmo eficiente para eliminar un nodo mínimo de la lista L enlazada individualmente con el algoritmo a la cabeza.

Ideas

Punteros dobles, uno se usa para recorrer la lista vinculada y el otro se usa para registrar la posición del valor mínimo en los datos actualmente recorridos. Cuando finaliza el recorrido, se puede eliminar directamente en la posición donde se registra el valor mínimo .

LinkList Delect_Min(LinkList &L){
    
    
	LNode *pre=L, *p=pre->next;
	LNode *minpre=pre,*minp=p;
	while(p!=NULL){
    
    
		if(p->data<minp->data){
    
    
			minp=p;
			minpre=pre;
		}
		pre=p;
		p=p->next;
	}
	minpre->next = min->next;
	free(minp);
	return L;
}

Tercera pregunta

Dos secuencias enteras A, B, determinan si B es una subsecuencia de A

Ideas

Al atravesar A, compare si hay el mismo número que el primer número de B. Si no está al final del recorrido, significa que no lo está. Si existe, atraviese A y B sincrónicamente y compare los tamaños, y luego las colas de la B atravesada son iguales Es solo entonces que B es una subsecuencia de A

int patten(LinkList A,LinkList B){
    
    
	LNode *p=A;
	LNode *pre=p;
	LNode *q=B;
	while(p&&q)
		if(p->data==q->data){
    
    
			p=p->next;
			q=q->next;
		}
		else{
    
    
			pre=pre->next;
			p=pre;
			q=B;
		}
		if(q==NULL)
			return 1;
		else
			return 0;
}

Supongo que te gusta

Origin blog.csdn.net/qq_41606378/article/details/108963452
Recomendado
Clasificación