迭代器的申明也不对。
迭代器也是个对象,所以跟普通变量的申明一样的。
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)
这样。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)