0

我需要一些有关链接列表的帮助。我已经想出了如何做单个链表,但是在尝试实现多个结构和列表时我很挣扎。

我的最后一个程序都与 Structs 一起使用,但现在我必须实现链表。它说在函数中使用“外部指针”来遍历各种列表。

这是我的一门课的作业,我不是要求你们都为我做,但我要求帮助我指出正确的方向。

结构如下:

            struct stockItem
            {
              char stockName[60];
              char stockType[60];
              int itemNumber;
              float actualCost;
              float markUp;
              int totalCurrentInventory;
              int monthlyRestock;
              float price; //stores actual cost + markup

            };


            struct roomData
            {
              float widthFeet, widthInch;
              float lengthFeet, lengthInch;
              char roomName[100];
              int roomNumberOfType;
              char roomType[6]; //char of room type
              int roomStock[100][2]; //for storing each room stock types
              int roomHasStock; //if the room has a stock avaliable
              int roomStockCount; //how many stocks the room has
              float area;  // sq ft
              float rentalRate;
              float profitsPerRoom;
              float netProfit;
              float grossProfit;
              char stockLine[200];
            };

            struct staffData
            {
                char firstName[100];
                char lastName[100];
                char fullName[100];
                int employeeNumber;
                char typeOfEmployee[10];
                char payType[10];
                float hourlyWage;
                float salary;
                int hours;
                char address[150];
                char city[150];
                char state[10];
                int zip;
                char phone[30];
                float yearlyTotalPay;

                struct hireDate //holds staff hire date
                {
                  int month;
                  int day;
                  int year;
                }hireDate;

                struct birthDate //holds staff birth date
                {
                  int month;
                  int day;
                  int year;
                }birthDate;
            };
4

2 回答 2

0

您的链表是否应该利用您开发的结构?这样,您就有了一个链表,其中每个节点都包含您列出的所有这些结构的实例。

struct node {
  struct node *left;
  struct node *right;
  roomData room;
  stockItem stock;
  staffData staff;
  hireDate hire;
  birthDate birth;  
};
于 2012-12-04T21:27:06.717 回答
0
typedef struct YourStructNode_ {

   struct YourStructNode_ * next;
   struct YourStructNode_ * prev;

   YourStruct data;

} T_YourStructList;

用你的结构名称替换“YourStruct”以创建一个双向链表。

即使您使用此模式多次创建 T_XXXX_List,您也应该使用相同的函数操作列表,因为 T_Node 的前两个字段始终相同。

编写添加、插入、删除函数来操作此结构。

于 2012-12-04T07:36:19.917 回答