为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 C++单链表的动态创建,查找,遍历,删除,插入,添加,...

C++单链表的动态创建,查找,遍历,删除,插入,添加,排序 收藏

2022.09.21 19:03 221浏览

计算机中没有现成的节点,我们需要自己创建它。任意的节点都包含了两部分:左边部分data存储数据,右边部分next存储指针,单链表的动态创建,查找,遍历,删除,插入,添加,排序 收藏:


#include<iostream.h>   

  

typedef struct node //定义一个结构体,在c++中也是一个类   

{   

    int val;   

    struct node* pNext;   

}NODE,*PNODE;   

  

/DE == struct node  定义一个新的接点   

//PNODE == struct node* 定义一个指向这个接点的指针   

  

class MyList //创建一个类    

{   

private:   

    PNODE pHead;//struct node* pHead   

       

public:   

    MyList()   //构造函数,构造一个空链表头指针   

    {   

        this->pHead = NULL;   

    }   

       

    ~MyList()  //析构函数   

    {   

        while(this->pHead!=NULL)   

        {   

            PNODE pTemp = pHead->pNext;   

            delete pHead;   

            pHead = pTemp;   

        }   

    }   

       

    void Init()   //初始化链表   

    {   

        int a;   

        char ans;   

           

        PNODE pTail,pNew;   

           

        do  

        {          

            cout<<"请输入一个节点值:";   

            cin>>a;   

               

            if(pHead == NULL)//判断链表中是否有元素(是否是空链表)   

            {   

                pHead = new NODE;   

                pHead->val = a;   

                pHead->pNext = NULL;   

                   

                pTail = pHead;   

            }      

            else  

            {      

                pTail = pHead;   

                while(pTail->pNext!=NULL)//把pTail移动到尾部   

                {   

                    pTail = pTail->pNext;   

                }   

  

                pNew = new NODE;//new一个新的接点来接受新输入的值   

                pNew->val = a;   

                pNew->pNext = NULL;   

  

                pTail->pNext = pNew;   

                pTail = pTail->pNext;   

            }      

               

            cout<<"继续吗?(Y/N):  ";   

            cin>>ans;   

               

        }while(ans=='Y'||ans=='y');    

    }   

       

    void Add(int val) //向链表中追加值方法   

    {   

        if(pHead == NULL)   

        {   

            pHead = new NODE;   

            pHead->val = val;   

            pHead->pNext = NULL;   

        }   

        else  

     


点击查看更多内容
C++
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
0
获赞与收藏
0

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

50篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

146篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消