0

リンクリストについてサポートが必要です。個別のリンクリストを作成する方法を理解しましたが、複数の構造体とリストを実装しようとすると苦労します。

私の最後のプログラムはすべてStructsで使用されていましたが、リンクリストを実装する必要があります。さまざまなリストをトラバースする際に使用する関数で「外部ポインタ」を使用するように指示されています。

これは私のクラスの1つの宿題です。私はあなた方全員に私のためにそれをするように求めているのではありませんが、私を正しい方向に向けるのを手伝ってくれるように求めています。

構造体は次のとおりです。

            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_Node の最初の 2 つのフィールドは常に同じであるため、このパターンで T_XXXX_List を複数回作成する場合でも、同じ関数でリストを操作する必要があります。

この構造を操作する追加、挿入、削除関数を記述します。

于 2012-12-04T07:36:19.917 に答える