求解答

活宝_往昔 2014-03-15 10:45:30
#include <iostream>
using namespace std;
template <class T>
class link
{
public:
T data;
link<T> *next;
/*link(const int value,const T *nextValue=NULL)
{
data=value;
next=nextvalue;
}*/
/*link()
{
next=NULL;
}*/
};
template <class T>
class linkList
{
private:
link<T> *head,*tail;
public:
//linkList(const int number);
linkList();
~linkList();
//void length();
//T * setPos(const int i);
bool insert(int i,T value);
//bool delete1(const int i);
//int getData();
};
template <class T>
linkList<T>::linkList()
{
head=tail=new link<T>;
head->next=NULL;
}
/*template <class T>
linkList<T>::linkList(const int number)
{
head=tail=new link<T>;
link<T> *p=head->next;
int i=0;
while(i<number)
{
p=p->next;
i++;
}
}*/
template <class T>
linkList<T>::~linkList()
{
link<T> *temp;
while(head!=NULL)
{
temp=head;
head=head->next;
delete temp;
}
}
/*template <class T>
void linkList<T>::length()
{
/*int count=0;
link<T> *P=new link<T>;
while(p->nxet!=NUll||)
{
p=p->next;
count++;
}
cout<<"成功"<<endl;
//return count;
}*/
/*template <class T>
T * linkList<T>::setPos(const int i)
{
int count=0
if(p<0||p>length()-1)
{
cout<<"位置错误"<<endl;
return head;
}
link *p=new link<T>(head->next);
while(p->next!=NULL||count<i)
{
p=p->next;
count++;
}
return p;
}*/
template <class T>
bool insert( int i, T value)
{
int count=1;
if((i<0)||i>(length()+1))
{
cout<<"插入位置不合法"<<endl;
return false;
}
link<T> *prevoius,*current;
link<T> *newNode=new link<T>;
newNode->dara=value;
previous=head;
current=head->next;
//newNode->next=NULL;
while(count<i&¤t!NULL)
{
previous=current;
current=current->next;
count++;
}
newNode->next=current;
previous->next=newNode;
return true;
}
/*template <class T>
bool linkList<T>::delete1(const int i) //删除位置p上的元素,表的长度减1
{
link<T> *point1,*point2;
if(p<0||(point1=setPos(p-1))==NULL||point1==tail)
{
cout<<"非法删除点"<<endl;
return false;
}
point2=point1->next;
if(point2==tail)
{
tail=point1;
p->next=NULL;
delete point2;
}
else if(point2=!NULL)
{
point1->next=point2-next;
delete point2;
}
return true;
}*/
int main()
{
int j=10;
linkList<int> linkList1;
for(int i=0;i<5;i++)
{
cout<<"i"<<endl;
linkList1.insert(i,j);
}
return 0;
}
为什么 从一个空表 插入5个节点建立一个 链表就是 不行呢,,,老是出现链接错误。。。。。。这几天已经因为模板的事 抑郁了
...全文
86 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧