鱼C论坛

 找回密码
 立即注册
查看: 4758|回复: 4

关于C++中建立一个单链表类,怎么实现尾插法插入结点?

[复制链接]
发表于 2012-12-17 16:59:58 | 显示全部楼层 |阅读模式
10鱼币
建立一个单链表类,结点数据和结点next指针都是私有成员,怎么实现尾插法插入结点?是在类里面建立成员函数,还是用其他类来实现?不太会啊。。。求助!!!

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-12-17 17:24:06 | 显示全部楼层
你只需要把链表头放到类的私有成员就行了。我时间很紧张,就随便写几行代码,但愿你能看懂
  1. class CStr
  2. {
  3. public:
  4.         bool add(STR * str); //增加
  5.         bool del(STR * str); //删除
  6.         bool insert(STR * str); //添加
  7. public:
  8.         CStr()
  9.         {
  10.                 m_Header = NULL;
  11.         }
  12.         ~CStr()
  13.         {
  14.                 //自己想干啥干啥
  15.         }
  16. private:
  17.         STR * m_Header;
  18. };

  19. bool CStr::add(STR *str)
  20. {
  21.         if(NULL == m_Header)
  22.         {
  23.                 m_Header = new STR  //申请内存的格式我都忘了  你自己去写吧
  24.         }
  25.         //后面的你自己会写了吧,若还是不会写,那去好好学习链表吧
  26. }
复制代码
不要告诉我你编译不通过,那样会遭到我极度鄙视。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-17 17:25:18 | 显示全部楼层
你只需要把链表头放到类的私有成员就行了。我时间很紧张,就随便写几行代码,但愿你能看懂
struct STR
{
int var1;
int var2;
// ..
STR * next; //next指针
};

class CStr
{
public:
        bool add(STR * str); //增加
        bool del(STR * str); //删除
        bool insert(STR * str); //添加
public:
        CStr()
        {
                m_Header = NULL;
        }
        ~CStr()
        {
                //自己想干啥干啥
        }
private:
        STR * m_Header;
};

bool CStr::add(STR *str)
{
        if(NULL == m_Header)
        {
                m_Header = new STR  //申请内存的格式我都忘了  你自己去写吧
        }
        //后面的你自己会写了吧,若还是不会写,那去好好学习链表吧
}
不要告诉我你编译不通过,那样会遭到我极度鄙视。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-17 17:26:05 | 显示全部楼层
因为前面把结构体写漏了  所以后面重新发了一次  
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-12-19 00:57:27 | 显示全部楼层
本帖最后由 笑鬼xxoo 于 2012-12-19 00:59 编辑

对不起,好久没上了,没及时回复,可能是我问题提的有问题。。。我的意思是

  1.     class Node {
  2.         int data;
  3.         Node *next;
  4.      public:
  5.         ...
  6.     };
  7.    
  8.     class LinkList{
  9.         Node *front;
  10.      public:
  11.         ...
  12.     };
  13.    
复制代码


这种类型的单链表能使用尾插法吗?如果不行,该怎么改?(data,next,front最好private)

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-14 09:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表