Escriba una estructura de datos en lenguaje C y escriba un menú simple. ¡Ayúdenme a conectarlos! ¡Tengo que entregar mi tarea pronto!
#include?
struct?Link{
int?date;
Link*?next;
};
Link?*L,*head,*tail;
int?LinkNumber;//guardar el número de fechas
void?InitList(Link*?p)
{
printf("Ingrese el número de números guardados en la lista de cadenas LinkNumber:" );<
int?n,date;
scanf("%d",&n);
LinkNumber=n;
printf("Ingrese números, separados por espacios:");
scanf("%d",&date);
p=(Link*)malloc(sizeof(Link ));
p->fecha=fecha;
head=p;
tail=p;
p->siguiente =NULL;
for(int?i=1;i scanf("%d",&date); p =(Enlace*)malloc(tamañode(Enlace)); p->fecha=fecha; tail->siguiente=p; p- >next=NULL; tail=p; } } void?printfff(Enlace*?p) p> { printf("link?follow?as:\n"); for?(Link*)?=NULL;tmp=tmp->siguiente ) { printf("%d?",tmp->fecha); } printf("\n "); } void?ListInsert(Link*?p,int?postion,int?value) { int?i=0; if(postion==1) //insertar al principio { Enlace*?NewHead; NewHead=(Link*)malloc(sizeof(Link)); NewHead->fecha=valor; NewHead->next=head; head=NewHead; LinkNumber++; } else?// insertar al final { Enlace*?NewTail; NewTail=(Link*)malloc(sizeof(Link)); NewTail->fecha=valor; tail ->siguiente= NuevoTai l; NuevaCola->next=NULL; tail=NuevaCola; } más{ for(Link?*tmp=head;tmp;tmp=tmp->siguiente) { i++; if(i==posición- 1) { Enlace*?NuevoNodo; NuevoNodo=(Enlace*)malloc(tamañode(Enlace)); NewNode-> fecha=valor; NewNode->next=tmp->next; tmp->next=NewNode; LinkNumber++; p> p> } } } } } ¿nulo?ListDelete (Enlace *?p,int?postion) { int?i=0; if(postion==1) { head=head->siguiente; LinkNumber--; } else?if(postion== Número de enlace) { for(Link*?tmp=head;tmp!=NULL;tmp=tmp->next) { si (tmp ->siguiente->siguiente==NULL) { tail=tmp; tmp->siguiente=NULL; LinkNumber--; return; } > } } else{ for(Enlace*?tmp=head;tmp!=NULL;tmp=tmp->siguiente) { i++; if (i==posición-1) { tmp->next=tmp->siguiente->siguiente; NúmeroEnlace--; retorno; } } }} } void?main(){ p> int?cord ,i,d; do{ printf("/nmain\n"); printf( "? 1Crear?\n"); printf("?2?Insert\n"); printf("?3?Delete\n"); printf("?4?Salir\n"); printf("------------------------ ---------------\n"); printf("?Por favor?ponga?su?elección?(1-4)?") ; scanf("%d",&cord); switch(cord) { caso?1: { ListaInit(L); printfff(L); }bre ak ; caso?: { printf("¿Dónde desea insertar:?") scanf( " %d",&i); printf("¿Los datos que desea insertar:?"); }break caso? quieres insertar :? ") ) scanf("%d",&d); ListInsert(L,i,d); printfff(L); p> }romper; case?3: { printf("¿la? posición? ¿quieres? eliminar:?") scanf("%d",&i); ListDelete(L,i); printfff(L); }romper; caso? { salir(0); } romper; } } while(cord<=4&&cord>=0); } Acéptalo satisfactoriamente Está bien si no ¡No lo entiendo! ¡Pregunte, aquellos que piden puntos extra pueden ser iluminados y aquellos que necesitan cambiar pueden ser cambiados!