linea de credito banco estado

Visual Studio 2010 报“应输入声明”错误 [问题点数:20分,结帖人Song_Jiaqiang]

Visual Studio 2010 报“应输入声明”错误 [问题点数:20分,结帖人Song_Jiaqiang]

引用 1 楼 zhujian888 的回复: 楼主,你给出的信息太少。我们无法帮你解决,不能帮你猜测个结果出来的

// LinkList.h
#include “list.h”
#include “LinkNode.h”

//定义单链表类
template <class ElemType>
class LinkList:public List<ElemType>
<
public:
LinkList();//构造函数
LinkList(const LinkList<ElemType>&);//拷贝构造函数

LinkList();//析构函数
bool IsEmpty()const //判断单链表是否为控表
int Length()const //求表长
void Clear();//置单链表为空表
bool GetElem (ElemType & ,int ) const;//表中取值
bool SetElem (ElemType & ,int );//表中存值
int LocateElemType(const ElemType &) const;//查找表中符合条件的数据元素
int LocatePrior(const Elemtype&) const;//查找表中符合条件的数据元素前驱
int LocateNext(const Elemtype&) const;//查找表中符合条件的数据元素后继啵
bool Insert(const ElemType& ,int);//在表中指定位置插入
bool Append(const ElemType&);//表尾插入
bool Delete(ElemType&,int);//删除表中指定位置的数据元素
void Traverse(void(*visit)(constElemType&)) const;//单链表遍历
LinkList<ElemType> & operator=(const LinkList<ElemType>&);//赋值运算符=的重载

private:
int len;
LinkNode <ElemType> *head;
LinkNode <ElemType> *tail;
void CopyFrom(const LinkList<ElemType>&);//拷贝函数
>;

//1.单链表初始化(默认构造函数)
//构造一个带头结点的空单链表
template<class ElemType>
LinkList <ElemType>::LinkList()
<
len=0;
head=tail=new LinkNode <ElemType>;
head->next=NULL;
>

//2.单链表的复制(拷贝构造函数)
//拷贝构造函数,从现有的单链表中拷贝构造出一个单链表
template <class ElemType>
LinkList<ElemType>::LinkList(const LinkList<ElemType> &r)
<
CopyFrom(r);//从r所引用的链表中复制所有的结点
>

//3.单链表结构的销毁(析构函数)
//析构函数
template<class ElemType>
LinkList<ElemType>::

LinkList()
<
Clear();//释放所有的数据结点
delete head;//释放头结点
>

//4.置单链表为空表
//释放单链表中的所有数据结点
template<class ElemType>
void LinkList<ElemType>::Clear()
<
LinkNode<ElemType> *p=head->next, *q;
while(p)
<
q=p->next;
delete p;
p=q;
>
tail=head;
head->next=NULL;
len=0;
>

//5.表中取值——取单链表中序号为i的数据元素值
//返回单链表中序号为i的数据元素(i的合法值1≤i≤len)
template<class ElemType>
bool LinkList<ElemType>::GetElem(ElemType &e,int i) const
<
if(i<1 || i>len)
return false;
LinkNode<ElemType> *p=head->next;
int k=1;
while(k<i)
<
p=p->next;
k++;
>
e=p->data;
return true;
>

//6.表中存值——在单链表中序号为i 的位置存入数据元素(i的合法值为1≤i≤len)
template<class ElemType>
int LinkList<ElemType>::SetElem(const ElemType &e,int i)
<
if(i<1 || i>len)
return false;
LinkNode<ElemType> *p=head->next;
int k=1;
while(k<1)
<
p=p->next;
k++;
>
p->data=e;
return true;
>

tienda cash converter la ballena

//7.表中查找——在单链表中查找符合条件的数据元素
//从第一个位置起查找与e匹配的数据元素,若存在,则返回该数据元素的位置,如果ElemType引用的是一个复杂的数据类型,那么在定义ElemType引用的数据类型时,必须重载!=运算符
template<class ElemType>
int LinkList<ElemType>::LocateElem(const ElemType &e) const
<
int i=1;
LinkNode<ElemType> *p=head->next;
while(p && p->data!=e)
<
i++;
p=p->next;
>
if(p)
return i;
return 0;
>

//8.在单链表中查找符合条件的数据元素前驱
//从第一个位置起查找与e匹配的数据元素,若存在,则返回该数据元素的位置,如果ElemType引用的是一个复杂的数据类型,那么在定义ElemType引用的数据类型时,必须重载!=运算符
template<class ElemType>
int LinkList<ElemType>::LocatePrior(const ElemType &e) const
<
int i=LocateElem(e);
if(i>1)
return i-1;
else
return 0;
>

//9.在单链表中查找符合条件的数据元素后继
//从第一个位置起查找与e匹配的数据元素,若存在,则返回该数据元素的位置,如果ElemType引用的是一个复杂的数据类型,那么在定义ElemType引用的数据类型时,必须重载!=运算符
template<class ElemType>
int LinkList<ElemType>::LocateNext(const ElemType &e) const
<
int i=LocateElem(e);
if(i>=1 && i<len)
return i+1;
return 0;
>

//10.在单链表中第i个结点之前插入新的结点(即新的数据元素)(i的合法值为1≤i≤len)
template<class ElemType>
bool LinkList<ElemType>::Insert(const ElemType &e,int i)
<
LinkNode<ElemType> *p,*q;
int k=1;
if(i<1 || i>len)
return false;//插入的i值不合法
q=new LinkNode<ElemType>;
q->data=e;
p=head;
while(k<i) //将p指针的值定位在第i-1个结点上
<
p=p->next;
k++;
>
q->next=p->next;
p->next=q; //插入q结点
if(i=len+1)
tail=q; //表尾插入后修改尾指针
++len; //表的长度+1
return true;
>

//11.在单链表LinkList的表尾插入新的结点(即新的数据元素)
template <class ElemType>
int LinkList<ElemType>::Append(const ElemType &e)
<
LinkNode<ElemType> *q;
q=new LinkNode<ElemType>;
q->data = e;
tail->next = q; //表尾插入q结点
tail = q;
tail->next = NULL;
++len;
return true;
>

//12.在单链表中删除第i个结点(即数据元素),并用数据变量e返回其值(i的合法值1≤i≤len)
template <class ElemType>
bool LinkList<ElemType>::Delete(const ElemType &e, int i)
<
if(i<1 || i>len)
return false; //删除位置i值不合法
LinkNode <ElemType> *p, *q;
int k = 1;
p = head;
while(k<i)
<
p = p->next;
k++;
>
q = p->next;
p->next = q->next; //删除q结点
if(q == tail)
tail = p;
e = q->data;
delete q;
–len; //表长-1
return true;
>

//13.单链表的遍历
//依序对单链表中的每一个数据元素调用函数visit()一次且仅一次
template <class ElemType>
void LinkList<ElemType>::Traverse(void(*visit)(const ElemType &e)) const
<
LinkNode<ElemType> *p=head->next;
while(p)
<
visit(p->data);
p=p->next;
>
>

//14.赋值运算符=的重载
template<class ElemType>
LinkList<Elemtype> & LinkList<ElemType>::operator(const LinkList<ElemType> &r)
<
Clear();
delete head;
CopyFrom(r);
return *this;
>

//15.拷贝函数,从现有的一个链表中复制所有的结点
template<class ElemType>
void LinkList<ElemType>::CopyFrom(const LinkList<ElemType> &r)
<
len=0;
head=tail=new LinkNode<ElemType>;
head->next=NULL;
LinNode<ElemType> *p=r.head->next;
while(p)
<
Append(p->data);
p=p->next;
>
>

tienda cash converter la ballena

Ver este video: Autos City