gpt4 book ai didi

c++ - C++中如何使用链表存储表并在表中查找项目

转载 作者:行者123 更新时间:2023-11-28 01:01:41 26 4
gpt4 key购买 nike

我在本地驱动器上保存了一个 .txt 文件,该文件由 3 列和许多行组成,第一列是字符,第二列是数字,第三列是日期。我如何使用链表(不使用STL)编写一个程序来存储这个文件,然后能够通过让用户从第一列输入信息来搜索特定的条目,以便计算机会从表中找到并显示该行的信息吗?

最佳答案

一个简单的方法是使用这样的结构:

struct Row
{
char * name;
int id;
time_t date;

Row * next;
};
Row * table = NULL;

此结构将存储 .txt 文件的一行和指向下一行的指针。这使它成为一个链表。 table 变量将指向列表的头部——第一行。

要存储列表,您需要遍历表格并使用 fprintf 将每一行写入新行。

for (Row * row = table; row != NULL; row = row->next)
fprintf(file, "%s %i %i", row->name, row->id, row->date);

要搜索列表,您需要遍历表并将目标字符串与每一行的 name 成员(或您所称的任何名称)进行比较。使用链接列表,您几乎只能进行顺序搜索。

for (Row * row = table; row != NULL; row = row->next)
if (0 == stcmp(row->name, targetString))
return row;

我假设您在类里面讲过用户输入和基本列表算法。如果您有任何问题,请随时询问。

关于c++ - C++中如何使用链表存储表并在表中查找项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8395132/

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