youzhihua11 2017-07-13 14:27 采纳率: 33.3%
浏览 931
已结题

关于c++实现单链表的问题

Link_List为基类,S_Link_List是继承的单链表,现在只写了单链表的创建和显示,求大佬帮帮忙

 #include<iostream>
using namespace std;
struct D_Node{
    double data;
    D_Node *next;
};
class Link_List{
public:
    Link_List(int num);                                    //初始化节点个数
    virtual void Create(D_Node *pHead)=0;          //创建单链表
    //virtual void D_Insert(double element,int n)=0;            //插入节点
    virtual void showNode(D_Node *pHead)=0;                 //显示链表
    //virtual void getNode(D_Node *pHead)=0;                //获取节点个数
protected:
    D_Node node;
    int num;
};
Link_List::Link_List(int num){                    
    this->num=num;
}
class S_Link_List:public Link_List{                     //单链表  继承于Link_List
public:
    S_Link_List();
    S_Link_List(int num);
    D_Node *getHead(){
    return pHead;
}                               //获取头节点
    virtual void Create(D_Node *pHead);
    virtual void showNode(D_Node *pHead);
private:
    D_Node *pHead;
};
S_Link_List::S_Link_List(int num):Link_List(num){
    pHead=new D_Node;
    pHead->next=NULL;
};
void S_Link_List::Create(D_Node *pHead){
    D_Node *temp;
    D_Node *p;
    temp=pHead;
    for(int i=1;i<num;i++){
        int a;
        p=new D_Node;
        cin>>a;
        p->data=a;
        p->next=NULL;
        temp->next=p;
    }
    temp->data=NULL;
    delete temp,p;
}
void S_Link_List::showNode(D_Node *pHead){
    cout<<"pHead->";
    D_Node *temp;
    temp=pHead;
    while(temp->next!=NULL){
        temp=temp->next;
        cout<<temp->data<<"->";

    }
    delete temp;
    cout<<endl;
}
int main(){
    cout<<"下面创建单链表,请输入节点个数:";
    int NO;
    cin>>NO;
    cout<<endl;
    S_Link_List list(NO);
    cout<<"请输入节点数据:";
    list.Create(list.getHead());
    cout<<endl<<"下面是创建的单链表:"<<endl;
    list.showNode(list.getHead());
    system("pause");
    return 0;
}
  • 写回答

1条回答 默认 最新

  • Link8Guo 2017-07-14 01:04
    关注

    图片说明
    图片说明
    楼主的做法是第一个链表不使用,从第二个开始么

    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站