Sujet de table de séquence de structure de données (2)

Description de la rubrique de la table de séquence et implémentation du code

Description du titre : Concevoir un algorithme efficace pour inverser tous les éléments de la liste de séquences L, nécessitant que la complexité spatiale de l'algorithme soit O(1).
Analyse du problème : Parce que le problème nécessite une complexité spatiale de O(1), la première chose que nous considérons est de réaliser l'inversion sur ce tableau sans utiliser d'autres tableaux, et de le laisser fonctionner in situ. Lorsque nous avons vu ce sujet pour la première fois, nous pensions à un sujet connexe en langage C, qui consiste à réaliser l'inversion des éléments d'un tableau. Habituellement, nous allons définir deux pointeurs, tête et queue, et échanger les éléments de la tête et de la queue à la Le pointeur de tête est incrémenté de 1 et le pointeur de queue est décrémenté 1. Réalisez l'échange d'éléments.

Code d'implémentation :

void reverse(sqList &L)
{
    
    
	Elemtype temp;
	for (int i = 0; i < L.length / 2; i++) 
	{
    
    
		temp = L.data[i];
		L.data[i] = L.data[L.length - 1 - i];
		L.data[L.length - 1 - i] = temp;--
	}
}

Guess you like

Origin blog.csdn.net/ATTAIN__/article/details/107894014