rendered paste body#include <stdio.h>
typedef struct {
char *dataitem;
struct listelement *link;
} listelement;
listelement * AddItem(listelement * listpointer, char *data);
listelement * RemoveItem(listelement * listpointer);
void PrintQueue (listelement * listpointer);
void ClearQueue (listelement * listpointer);
main()
{
listelement listmember, *listpointer;
char *data,
choice;
listpointer = NULL;
int i;
for(i = 0;i<20;i++){
listpointer = AddItem (listpointer, "jenys");
}
/*
for(i = 0;i<12;i++){
listpointer = RemoveItem (listpointer);
}
*/
PrintQueue (listpointer);
}
listelement * AddItem (listelement * listpointer, char *data)
{
listelement * lp = listpointer;
if (listpointer != NULL) {
while (listpointer -> link != NULL)
listpointer = listpointer -> link;
listpointer -> link = (struct listelement *) malloc (sizeof (listelement));
listpointer = listpointer -> link;
listpointer -> link = NULL;
listpointer -> dataitem = data;
return lp;
} else {
listpointer = (struct listelement *) malloc (sizeof (listelement));
listpointer -> link = NULL;
listpointer -> dataitem = data;
return listpointer;
}
}
void PrintQueue (listelement * listpointer)
{
if (listpointer == NULL)
printf ("queue is empty!\n");
else
while (listpointer != NULL) {
printf (listpointer -> dataitem);
listpointer = listpointer -> link;
}
printf ("\n");
}
listelement * RemoveItem (listelement * listpointer)
{
listelement * tempp;
printf ("Element removed is %d\n", listpointer -> dataitem);
tempp = listpointer -> link;
free (listpointer);
return tempp;
}