List.h
typedef int ElementType;
#ifndef list_h_included
#define List_h_included
struct Node;
typedef struct NODE *ptrtonode;
typedef ptrtonode List;
typedef ptrtonode Position;
List createlist ();
void Disposelist (List L);
List Makeempty (list L);
int IsEmpty (List L);
int Islast (Position P, List L);
Position Find (ElementType X, List L);
void Delete (ElementType X, List L);
Position findprevious (ElementType X, List L);
void Insert (ElementType X, List L, Position P);
void DeleteList (List L);
void Setadvance (Position P, Position nextp);
Position Header (List L);
Position (List L);
Position Advance (Position P);
ElementType Retrieve (Position P);
#endif//list_h_included
Fatal.h
#ifndef fatal_h_included
#define Fatal_h_included
#include <stdio.h>
#include <stdlib.h>
#define ERROR (str) fatalerror (str)
#define FATALERROR (str) fprintf (stderr, "%s\n", Str), exit (1)
#endif//fatal_h_included
List.c