Red de conocimientos turísticos - Información de alquiler - Programación de una tabla lineal

Programación de una tabla lineal

//Después de pasar una noche y este mediodía, finalmente lo logré. Puede ejecutarse correctamente en VC 6.0 y básicamente cumple con sus requisitos. Código: #include<. p>typedef int datatype; //El tipo de datos del nodo de la tabla lineal, se supone que es int

const int maxsize=100; //La longitud máxima posible de la tabla lineal, se supone que es 100;

typedef struct{

datatype data[maxsize+1]; // Definir los datos de la tabla lineal

int n; tabla lineal

}sqlist;//Crear tabla

sqlist* creat()

{

tipo de datos x;

int i =1;

lista sq *L;

L=nueva lista sq;

while(cin>>x,x!=0)

{

L->datos[i]=x;

i++;

}

L ->n=i -1;

L->data[0]=L->n;

return L;

}//Insertar función

int insert(sqlist *L,datatype x,int i) { //Inserta x en la tabla de secuencia L para obtener la i-ésima posición

int j;

if(L ->n==maxsize) { cout<<"¡La tabla está llena, no se puede insertar! (desbordamiento)\n"; return }

if(i<1 | | i>L-> n+1) {cout<<"¡Posición de inserción ilegal!\n"; return }

L->n++;

for(j= L->n;j >i;j--)

L->data[j]=L->data[j-1] //Mover el nodo hacia atrás

L->datos[ i]=x;

return 1;

}//Eliminar función

int deletex(sqlist *L,tipo de datos x) {

if(L->n==0) { cout<<"¡La tabla está vacía y no se puede eliminar! (underflow)\n"; for(int j=1;j <=L->n;j++)

if(L->data[j]==x) //Encuentra el valor coincidente x

for(;j<=L- >n;j++)

L->data[j]=L->data[j+1] //Mover el nodo hacia adelante

L->n--;

return 1;

}

//Mostrar tabla de secuencia

void disp(sqlist * L)

{

cout<<"La longitud de la tabla de secuencia es "<n<<"\n data:\n";

for(int i=1 ;i<=L->n;i++)

cout<<"Número de serie: "<

;L->datos[i]<

}

void main()

{

sqlist *L= NULL;

tipo de datos x;

int ch,i;

XX: while(1)

{

cout<<" Menú principal\n "

<<" 0. Salir\n "

<<" 1. Crear tabla de secuencia\n "

<<" 2. Insertar datos\n "

<<" 3. Eliminar datos\n "

<<" 4. Mostrar tabla de secuencia\n ";

cin>>ch;

cambiar(ch)

{

caso 0:

eliminar(L) ; //Salir del programa y cancelar la lista de secuencias

return;

break;

caso 1:

cout<<" Ingrese los datos de la tabla de secuencia (¡ingrese 0 para salir!)"<

L=creat();

cout<<"¡La tabla de secuencia ha sido creada! \n";

break;

caso 2:

cout<<"Por favor, introduzca el valor que desea insertar\n";

cin>>x ;

cout<<"Posición de inserción:\n";

cin>>i;

if( insertar(L ,x,i)= =1 ) cout<<"¡Inserción exitosa!"<

else cout<<"¡Inserción fallida!"<

break;

caso 3:

cout<<"Ingrese el valor que desea eliminar\n";

cin>>x;

if(deletex(L ,x)==1) cout<<"Datos eliminados exitosamente"<

else cout<<"Esta tabla de secuencia no tiene datos"<< x<

ruptura;

caso 4:

disp(L);

ruptura;

predeterminado:

cout<<"¡Entrada ilegal! ¡Ingrese las opciones 0~4!"<

ir a XX; p>

}

}

//Si tiene alguna pregunta, ¡no dude en preguntar! .^_^.