标题:谁能帮我找错误
只看楼主
刘潘敏
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-10-17
结帖率:75%
已结贴  问题点数:20 回复次数:3 
谁能帮我找错误
#include<iostream.h>
template<class T>
struct Node
{
    T data;
    Node<T>*next;
};
template <class T>
class LinkList
{
    public:
        LinkList()
        {
            first=new Node<T>;first->next=NULL;
        }
        LinkList(T a[],int n);
        ~LinkList();
        int length();
        T Get(int i);
        int locate(T x);
        void Insert(int i,T x);
        T Delete(int i);
        void PrintList();
    private:
        Node<T>* first;
};

template<class T>
LinkList::LinkList(T a[],int n)
{
    {
        first=new Node<T>;
        first->next=NULL;
        for(int i=0;i<n;i++)
        {
            s=new Node<T>;
            s->data=a[i];
            first->next=next->next;
            first->next=s;
    }
    }
    template<class T>

    LinkList::~LinkList()
    {
        Node<T>*p=first;
        while(p)
        {
            Node<T>*q=p;
            p=p->next;
            delete q;
    }
    }
    template<class T>
        LinkList::Get(int i)
        Node *p=first->next;
    int j=1;
    while(p&&j<i)
    {
        p->p->next;
        j++;
    }
    if(!p)
        throw"位置";
else return p->data;
}
template <class T>
void LinkList::Insert(int i,T x)
{
    Node<T>*p=first;
    int j=0;
    while(p&&j<i-1)
    {
        p=p->next;
        j++;
    }
    if(!p)throw"位置";
    else
    {
        Node<T> s->data=x;
        s->next=p->next;
        p->next=s;
    }
}
 template <class T>
T LinkList::Delete(int i)
{
    Node<T>p=first;
    int j=0;
    While(p&&j<i-1)
    {
        p=p->next;
        j++;
    }
    if(!p&&!p->next)
        throw"位置";
    else{
        Node*q=p->next;
        Node<T> x=q->data;
        p->next=q->next;
        delete q;
        return x;
    }
}
template <class T>


 void LinkList::PrintList()
{
    Node<T>p=first->next;

while(p)
{
     cout<<p->data<<endl;
     p=p->next;
}

}#include <iostream.h>
#include"LinkList.h"
void main( )
{
  int r[ ]={10,9,8,7,6,5,4,3,2,1};
  LinkList <int> a( r , 10 );
  cout<<"原表为:"<<endl;
  a.PrintList();
  cout<<endl;
  a.Insert(1,-2);  //执行插入操作;
  a.Insert(2,-1);
  a.Insert(3,0 );
  cout<<"执行插入后输出为:"<<endl;
  a.PrintList();
  cout<<endl;
  a.Delete(0);   
  a.Delete(-1);   
  a.Delete(-2);
  cout<<"执行删除后输出为:"<<endl;
  a.PrintList();
  cout<<endl;
  cout<<"按位查找第二个元素:"<<endl;
  cout<<"第 5 个元素为: ";
  cout<<a.Get(5)<<endl;           //查找链表中第 5 个元素
  cout<<endl;
}
谁能告诉我哪错了






搜索更多相关主题的帖子: first private public next include 
2012-10-18 09:46
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
得分:20 
有错误信息吗!
2012-10-18 10:47
刘潘敏
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-10-17
得分:0 
有我知道哪错了
2012-10-18 22:24
刘潘敏
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-10-17
得分:0 
我知道哪错了
2012-10-18 22:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-383493-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.234862 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved