c++中的链表问题

来源:百度知道 编辑:UC知道 时间:2024/07/01 00:07:02
#ifndef linklist_h
#define linklist_h

template <class T> class linkedlist;
template <class T>
//链表项
class listentry
{
T thisentry;
listentry* nextentry;
listentry* preventty;
listentry(T& entry);
friend class linkedlist<T>;
};
template <class T>
//构造链表项
listentry<T>::listentry(T &entry)
{
thisentry=entry;
nextentry=0;
preventry=0;
}
template <class T>
//链表
class linkedlist
{
//表头
listentry<T>* firstentry;
listentry<T>* lastentry;
listentry<T>* iterator;
void removeentry(listentry<T>* lentry);
void insertentry(T& entry,listentry<T>* lentry);
public:
linkedlist();
~linkedlist();
void appendentry(T& entry);
void removeentry(int pos=-1);
void insertentry(T& entry,int pos=-1);
T* findentry(int pos);

你在linkedlist类中定义的一些函数没有在类外实现。
还有一个问题就是你如果想在程序中输出空格可以是cout<<" "; 而不是cout<< ' ';
另外一种方法就是
#include<iomanip.h>

cout<<setw(4)<<endl;//4表示是输出4个空格。

总体上来说,你的程序太混乱了。不太容易明白。

1,你很不仔细 listentry<T>* firstentry; 和你的函数名重复了
2,变量名起的太差了
3,迭代器和指针是不同的东西
4,基础打好再用模板编程吧