结构中动态数组的迭代器

时间:2019-05-16 19:21:57

标签: c arrays dynamic iterator adt

如何在动态数组(在结构中)上进行迭代器?

1 个答案:

答案 0 :(得分:0)

以类型struct _Lista表示的动态数组,不包含“任何类型的元素”。至少不是直接。它仅包含void *类型的元素。如果将类型iterator相应地更改为 double 指针,则您编写的几乎所有内容都将起作用:

typedef void **iterator;

但是,请注意,此迭代器实现存在严重缺陷:它不携带有关列表边界的任何信息。如果您确保在最后一个有效元素之后(也可能在第一个有效元素之前)有一个哨兵值,那可能没问题,但是否则,您将需要比一个指针还要复杂的数据结构。