站长网 安全 《数据结构》第二章线性表设计2:同学博客中问题求解

《数据结构》第二章线性表设计2:同学博客中问题求解

????? 各位同学,为了创建一个同学们相互学习讨论的气氛,现将同学们在自己博客是碰到的问题放出来,欢迎大家来指导,并致谢谢。请大家在本文章中集中给出自己意见。谢谢。要提醒大家的是,程序是有错误,我想也是大家可能会有的,具有一定的代表性,所以

????? 各位同学,为了创建一个同学们相互学习讨论的气氛,现将同学们在自己博客是碰到的问题放出来,欢迎大家来指导,并致谢谢。请大家在本文章中集中给出自己意见。谢谢。要提醒大家的是,程序是有错误,我想也是大家可能会有的,具有一定的代表性,所以大家要考虑。

1.第二章 线性表设计2 程序求调试错误解决

同学链接:??? ? ?? 我真的不知道错在哪里

    #include<iostream>  
    using namespace std;  
      
    template<class T>  
    struct Student  
    {  
        T data;  
        Student<T> * next;  
    };  
      
    template<class T>  
    class LinkList  
    {  
    public:  
        LinkList();  
        LinkList(T a[],int n);  
        ~LinkList();  
        void Insert(int i,T x);  
        T Delete(int i);  
        void PrintList();  
    private:  
        Student<T> * first;  
    };  
      
    template<class T>  
    LinkList<T>::LinkList()  
    {  
        first=new Student;  
        first->next=NULL;  
    }  
      
    template<class T>  
    LinkList<T>::LinkList(T a[],int n)  
    {  
        first=new Student;first->next=NULL;  
        for(i=0;i<n;i++)  
        {  
            s=new Student;s->data=a[i];  
            s->next=first->next;first->next=s;  
        }  
    }  
      
    template<class T>  
    void LinkList<T>::Insert(int i,T x)  
    {  
        p=first;count=0;  
        while(p!=NULL&&count<i-1)  
        {  
            p=p->next;  
            count++;  
        }  
        if(p==NULL)throw"输入错误"  
            else{  
            s=new Student;s->data=x;  
            s->next=p->next;p->next=s;  
        }  
    }  
      
    template<class T>  
    T LinkList<T>::Delete(int i)  
    {  
        p=first;count=0;  
        while(p!=NULL&&count<i-1)  
        {  
            p=p->next;  
            count++;  
        }  
        if(p==NULL||p->next==NULL)throw"输入错误";  
        else{  
            q=p->next;x=q->data;  
            p->next=q->next;  
            delete q;  
            return x;  
        }  
    }  
      
    template<class T>  
    void LinkList<T>::PrintList()  
    {  
        p=first->next;  
        while(p!=NULL)  
        {  
            cout<<p->data;  
            p=p->next;  
        }  
    }  
      
    void main( )    
    {    
        int score[5]={10,20,40,50,60};    
        LinkList<int> ScoreList(score,5);  
        ScoreList.PrintList();  
        ScoreList.Insert(2,30);  
        ScoreList.PrintList();  
        ScoreList.Delete(4);  
        ScoreList.PrintList();  
    }  

,翻了很多遍了都还是运行不了,所以请老师及各位大臣指点。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.zwzz.com.cn/html/fuwuqi/anquan/2021/0524/5221.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部