gpt4 book ai didi

c - 哪个使用链表或静态数组?

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:54 24 4
gpt4 key购买 nike

我在 C 中有一个类似于数据库表记录的结构。现在,当我使用 select 查询表时,我不知道会得到多少条记录。我想将选择查询返回的所有记录存储在我的结构数据类型的数组中。

哪种方法最好?

方法一:查找数组大小并分配

  1. 首先通过执行 select count(*) from table 获取记录数
  2. 分配一个静态数组
  3. 运行 select * from table,然后循环将每条记录存储在我的结构中。

方法二:使用单链表

while ( records returned )
{
create new node
store the record in node
}

哪种实现方式最好?

我的要求是,当我拥有所有的记录时,我可能会复制它们或其他东西。但我不需要随机访问,我不会对特定记录进行任何搜索。

谢谢

最佳答案

而且我忘记了选项 #4。分配一个固定大小的数组。当该数组已满时,分配另一个。您可以通过将数组链接到链表中来跟踪数组,或者使用更高级别的数组来保存指向数据数组的指针。当您需要随机访问时,这种两级方案非常有用,您只需要将索引分成两部分。

关于c - 哪个使用链表或静态数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/405113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com