Insertar un elemento de datos en la posición del i-ésimo elemento de datos en la tabla de secuencia (modificación)

 // Insertar un elemento de datos en la posición del i-ésimo elemento de datos de la tabla de secuencia
        public void Insert (elemento T, int i)
        {             if (IsFull ())             {                 Console.WriteLine ("Lista completa");                 return ;             }             else if (i <1 || i> last + 2)             {                 Console.WriteLine ("Position is erro");                 return;             }             else if (i == last + 2) // Se puede ver aquí que i = último + 2 se toma por separado Saliendo a considerar             {                 datos [++ último] = elemento;             }             else             {                 for (int j = last; j> = i-1; j--)                 {


















                    datos [j + 1] = datos [j];
                }
                datos [i - 1] = artículo;
            }
            último ++;
        }

 

De hecho, no es necesario sacar por separado i = last + 2. Puede modificar el código anterior a la siguiente situación.

public void Insert (elemento T, int i)
        {             if (IsFull ())             {                 Console.WriteLine ("La lista está llena");                 regreso;             }             else if (i <1 || i> last + 2)             {                 Console.WriteLine ("La posición es erro");                 regreso;             }             else             {                 for (int j = last + 1; j> i-1; j--)                 {                     data [j] = data [j-1];                 }                 datos [i-1] = elemento;
















                último ++;
            }
        }

 

En esta función, para el caso de insertar un elemento al final, es decir, cuando i = último + 2, se puede ingresar el último bucle else. En este momento, j = último + 1, i-1 = último + 1 para que el programa no ingrese al bucle for y se ejecute

      datos [i-1] = elemento;

                último ++;

Se puede concluir que este elemento se agrega directamente al final de la tabla de secuencia.

 

Para agregar un elemento en la primera posición, es decir, cuando i = 1, se puede ver que todos los elementos de la tabla de secuencia se han movido un lugar de atrás hacia adelante por turno, es decir, el elemento cuyo subíndice original es el último se mueve a En la posición donde el subíndice es el último + 1, continúe en orden, y finalmente el elemento con el subíndice original de 0 se mueve a la posición del subíndice 1, que es j = 0 y no mayor que 0 (es decir, i-1), presione el bucle y ejecute los datos [i-1] = elemento; puede agregar el elemento a la primera posición,

 

Para el caso general, es lo mismo que insertar un elemento en la primera posición.

Supongo que te gusta

Origin blog.csdn.net/tianyueWindbg/article/details/5855958
Recomendado
Clasificación