Temas de tabla de secuencia de estructura de datos (5)

Secuencia Título de la tabla Descripción e implementación del código

Descripción del título: Eliminar todos los elementos cuyos valores se repiten de la tabla de secuencia ordenada, de modo que todos los elementos de la tabla tengan valores diferentes.
Idea de algoritmo: este tema es una lista ordenada. Los elementos con el mismo valor también deben estar en posiciones consecutivas. Utilizando una idea similar a la clasificación por inserción directa, el primer elemento se considera inicialmente como una lista ordenada no repetida. Luego, juzgue a su vez si los siguientes elementos son iguales al último elemento de la lista ordenada no repetitiva anterior. Si son iguales, continúe juzgando hacia atrás. Si son diferentes, insértelos al final de la lista no repetida anterior. repitiendo la lista ordenada hasta que se juzgue el final de la lista.

Código de implementación:

bool del_same(sqList &L)
{
    
    
    int i,j;
    if(L.length==0)
        return false;
	for (i = 0,j=1; j< L.length; j++)
	{
    
    
	    if (L.data[i]!=L.data[j])
	         L.data[++i]=L.data[j];
	 }
	L.length = i+1;
	return true;
}

Si esta pregunta se cambia a una tabla desordenada y se requiere que la complejidad de tiempo sea O(n), entonces se puede usar una tabla hash.

Supongo que te gusta

Origin blog.csdn.net/ATTAIN__/article/details/107936016
Recomendado
Clasificación