Assignment 1 part 1: Sample Header Files


Pascal Header File:

type
  quadrant = (NW, NE, SW, SE);

  nameptr = ^name_t; { Name pointer type }
  name_t = record { Name record }
             DATA : char;
             NEXT : nameptr;
           end;

  nodeptr = ^node; { Quadtree node pointer }
  node = record
           XCOORD,
           YCOORD : integer;   { Point coordinates }
           NAME : name_t;      { Name }

                   { Four sons of current node }
           SON : array [NW..SE] of nodeptr;

                   { Left and right links used as binary serach tree }
           LLINK,
           RLINK : nodeptr;
         end;

c Header File:

#define NRDIRS 4

typedef char * nameptr;
typedef enum {NW, NE, SW, SE} quadrant;

typedef struct node_s {
  int XCOORD;    /* X coordinate */
  int YCOORD;    /* Y coordinate */
  nameptr NAME;  /* Name */

  struct node_s * SON[NRDIRS];  /* Four sons in quadtree */

  /* Left and Right links in binary search tree */
  struct node_s * LLINK, * RLINK;
} node;
typedef node * nodeptr;

nodeptr quadtree; /* Declare a quadtree */
nodeptr bstree;   /* Declare a binary search tree */


c++ Header File:

#define NRDIRS 4

typedef char * nameptr;
typedef enum {NW, NE, SW, SE} quadrant;

class node {
public:
  int XCOORD;       // X coordinate
  int YCOORD;       // Y coordinate
  nameptr NAME;     // Name

  node * SON[NRDIRS];    // Four sons in quadtree

  node * LLINK, * RLINK; // Left and Right links for binary search
};

node * quadtree;    // Declare a quadtree
node * bstree;      // Declare a binary search tree