c++如何在类中遍历list? 我想在头文件中的类里面实现list集合的添加和遍历功能

c++如何在类中遍历list? 我想在头文件中的类里面实现list集合的添加和遍历功能,第1张

把 类里的迭代器声明去掉,在循环的位置在直接初始化并使用。

迭代器的申明也不对。

迭代器也是个对象,所以跟普通变量的申明一样的。

list<Student>::iterator its = list.begin()

这样就可以了。

.h是声明函数和变量使用的,再建立一个.c文件,把函数定义放在里面,同时包含.h文件,

.h文件:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef structSingleNode

{

ElemType data

structSingleNode *next

}SingleLinkedList,*Linklist//定义单链表结点的结构体

void ListInitialize(SingleLinkedList **head)

int ListLength(SingleLikedList *head)

int ListGet(SingleLikedList *head,int i,ElemType *x)

.c文件:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <LinkedList.h>

void ListInitialize(SingleLinkedList **head)

{

if((*head=(SingleLikedList *)malloc(sizeof(SingleLikedList)))==NULL)

exit(1)

(*head)->next=NULL

}//单链表初始化

int ListLength(SingleLikedList *head)

{

SingleLikedList *p=head

int size=0

while(p->next!=NULL)

{

p=p->next

size++

}

return size

}//求线性表长度

int ListGet(SingleLikedList *head,int i,ElemType *x)

{

SingleLikedList *p

int j

p=head

j=-1

while(p->next!=NULL&j<i)

{

p=p->next

j++

}

if(j!=i)

{

printf("取元素位置参数错!")

return 0

}

*x=p->data

return 1

}//取数据元素

你的LPLINK这个自定义类型是定义在哪里的。

需要在引用list.h前,引用定义这个类型的头文件

如果是C文件 需要先定义LPLINK

再引用list.h

另外自己写程序的话,还是直接用C关键字的好。

比如

inline LPLINK GetHeadOfList(LPLIST List)

这样。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11893938.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存