【问题标题】:What data structure should I use for this kind of data?我应该为这种数据使用什么数据结构?
【发布时间】:2017-04-14 09:36:40
【问题描述】:

我的数据如下所示:

University {

    Society {

        LibrariesList 
            Library {

                Name: "Central Library"
                BuildingNumber: 23b
                Address {
                    Electronic Address: "blahblah blah"
                    Phone: 12345677
                    Street Address {
                        Num:4
                    }
                }
                Code:43

            }
        DepartmentsList:1

    }

}

我必须将它存储在我的 C 程序中。我是 C 的初学者,不知道这种事情使用哪种数据结构。那么我应该使用什么数据结构呢?

【问题讨论】:

  • 你不能把它存储在一个名为库的动态数组中吗?获得清单后,您将如何处理它?
  • 仅仅显示数据格式并不足以决定使用什么数据结构。如何使用数据同样重要或更重要。插入多久进行一次?多久删除一次?多久进行一次查找?查找是连续的还是随机的?等
  • @kaylum 认真的吗?你真的要和他谈谈 C 语言中的哈希图、红黑树等吗?他是个初学者。他正在学习编程,而不是开发可扩展的行业就绪应用程序。所以结构和向量。并代表他回答您的问题:数据将用作学习 C 基础知识的借口。
  • @bolov 谢谢。

标签: c arrays data-structures struct typedef


【解决方案1】:

我认为您正在寻找这样的东西。

struct stradr
{
      int num;
};

struct add
{
      char electronicAddress[100];
      unsigned int phone;
      struct stradr streetAddress;
};

struct lib
{
      char name[100];
      char BuildingNo[5];
      struct add address;
};

struct libList
{
       struct lib library;
       int code;
};

struct scty
{
        struct libList librarieslist;
        int departList;
};

struct unvrsty
{
        struct scty society;
} university;

作为 c 中的数据结构,我认为 C 不能同时处理字符串和整数。可能有更好的方法,但是考虑到您说您是初学者,这将太复杂而无法实现:)

【讨论】:

  • 是什么让struct libList 成为一个列表?
  • @alk 主要是因为该库位于标题库列表下,我相信它可能会发生变化,所以我假设它是一个。只是一个故障保险,虽然是多余的。
猜你喜欢
  • 1970-01-01
  • 2011-12-12
  • 1970-01-01
  • 1970-01-01
  • 2013-07-14
  • 1970-01-01
  • 1970-01-01
  • 2011-10-24
相关资源
最近更新 更多