Red de conocimiento informático - Conocimiento de la instalación - Cíñete a la programación

Cíñete a la programación

Análisis: Primero, modifique la definición de la estructura de almacenamiento de la cadena de secuencia de la siguiente manera:

typedef estructura {

char ch[2][MaxStrSize];

int length;

} SeqString

Supongamos que la línea 0 de ch almacena el alfabeto original y la línea 1 almacena la tabla de mapeo. El algoritmo específico es el siguiente:

(1)codificación nula (char *S, SeqString T){

//Establezca la cadena S para almacenar el texto a cifrar y T para almacenar el alfabeto y la superficie cartográfica.

int i,j;

int m = T.length//El alfabeto es muy largo

int n = strlen(S);//String Longitud

for(I = 0;iltn;I){ //Escanear cadena de texto

for(j = 0;iltm;J) //Escanear alfabeto

if(S[i]==T.ch[0][j]){

printf("c ",t . ch[1][j]);/ /salida cifrada

Break; //salir del bucle interno

}

if(j==m) error("c no está en el alfabeto", s [ I]);

}

}

(2) La decodificación nula (char * s, seq string t) {//s debe descifrarse String .

int i, j;

int m = T.length//El alfabeto es muy largo

int n = strlen(S);//Cadena Longitud

for(I = 0;iltn;I){ //Escanear cadena de texto

for(j = 0;iltm;J) //Escanear alfabeto

if(S[i]==T.ch[1][j]){

printf("c ",t . ch[0][j]);/ /salida cifrada

Break; //salir del bucle interno

}

if(j==m) error("c no está en el alfabeto", s [ I]);

}

}

La complejidad temporal de los dos algoritmos anteriores es O (m*n).

Puedo ayudarte. Después de configurar mi mejor respuesta, te enseñaré Baidu Hii.