创建具有多种元素类型的链表

标签 c data-structures linked-list

我的 C 类(class)上周进行了类期末考试,在学期结束前我们还有 1 周的类(class),我的教授决定取消其余类(class)。

我问他为什么不利用这段时间来教我们链表,他说“决赛已经给出了,所以我不需要教其他任何东西”。

我仍然想学习链表,但现在由于我的教授没有任何用处,我想请各位好心人帮助我完成我正在考虑的应用程序。

简单地说,我有一个文本文件,其中包含如下行:

Apple     //name   
12        //quantity   
23.90     //price   
Bananas   //name  
4         //quantity  
12.90     //price

我了解如何将上述 txt 文件读入结构数组,但我不了解如何对链表执行相同操作。

我的结构示例:

typedef struct
{
char food_name[BUF];
int food_quantity;
float food_cost;
}FOOD;

我很想发布我的其余代码作为示例,但由于我还剩 2 年大学毕业时间,并且在接下来的 3 个学期里还有上面提到的同一位教授,我不想冒学术不诚实的风险明年潜在的学生会做我的作业答案(如果明年这个类的任何人看到这个,请在​​ HW3 上查看)

最佳答案

结构的链表有一个指向下一个结构的附加指针,用于将一个结构连接到下一个结构。一个简单的单链表如下所示:

typedef struct food_s {
  char  food_name[BUF];
  int   food_quantity;
  float food_cost;
  struct food_s *next;
}food_t;

这只是一个小小的开始,但是有几本书描述了链表、双链表、二叉树等排序列表,...

关于创建具有多种元素类型的链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53688142/

相关文章:

c - 选项未出现在 config.h 中

C 数组循环错误

algorithm - 创建复杂度更高的二叉搜索树

algorithm - 用于反转 log(n) 中的子数组的数据结构

c++ - 插入排序链表C++

c - 如何使用此代码作为起点在 opengl 中绘制一个较小的圆圈?

C 指针转换

algorithm - 仅通过公共(public)交通找到最佳路线的策略?

c++ - 链表和文件 I/O C++

c++ - 将节点指针设置为空