All pastes #11526 Raw Edit

Unnamed

public text v1 · immutable
#11526 ·published 2005-05-11 19:36 UTC
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;
}