zoukankan      html  css  js  c++  java
  • C++单链表的简单实现

    头文件:practice2.h

    #ifndef PRACTICE2_H_INCLUDED
    #define PRACTICE2_H_INCLUDED
    
    
    #include<iostream>
    
    class  ThreeLetterList
    {
       private:
    
       class  ThreeLetterNode
       {
        public:
            char data[3];
            ThreeLetterNode *link;
    
        };
        ThreeLetterNode* first;
        public:
            void test();
            void show();
    
    };
    void ThreeLetterList::test()
    {
        ThreeLetterNode *f=new ThreeLetterNode();
        f->data[0]='b';
        f->data[1]='a';
        f->data[2]='t';
        f->link=0;
    
        first=f;
    
        f=new ThreeLetterNode();
        f->data[0]='c';
        f->data[1]='a';
        f->data[2]='t';
        f->link=0;
        first->link=f;
    
    
    }
    void ThreeLetterList::show()
    {
        std::cout<<first->data[0]<<first->data[1]<<first->data[2]<<std::endl;
        std::cout<<first->link->data[0]
            <<first->link->data[1]
            <<first->link->data[2]
            <<std::endl;
    
    }
    
    #endif // PRACTICE2_H_INCLUDED

    practice.cpp文件

    #include <iostream>
    #include "practice2.h"
    using namespace std;
    class List;
    
    class Node//节点
    {
    friend class List;//申明成友元类
    private:
        int data;
        Node *link;  //指向下一个节点的指针
    };
    
    class List
    {
    public:
        void test();
        void show();
    private:
        Node *first;//指向第一个节点的指针
    
    } ;
    void List::test()
    {
    
        Node *f=new Node();
        f->data=44;
        f->link=0;
    
        first=f;
    
        f=new Node();
        f->data=72;
        f->link=0;
    
        first->link=f;
    
        f=new Node();
        f->data=210;
        f->link=0;
        first->link->link=f;
    
    
    }
    void List::show()
    {
        cout<<first->data<<endl
            <<first->link->data<<endl
            <<first->link->link->data<<endl;
    }
    
    int main()
    {
        List a;
        a.test();//创建了三个节点
        a.show();
        cout<<"O"<<endl;
    
        ThreeLetterList l;
        l.test();
        l.show();
        return 0;
    }
  • 相关阅读:
    C语言-第四周作业
    第8次Scrum会议(10/20)【欢迎来怼】
    例行报告(20171011-20171019)
    C语言--第二周作业评分和总结(5班)
    C语言-第三周作业
    第一次Scrum会议(10/13)【欢迎来怼】
    单元测试之四则运算
    四则运算V1.1
    例行报告(20170927-20171010)
    C语言--第一周作业评分和总结(5班)
  • 原文地址:https://www.cnblogs.com/libin123/p/10420088.html
Copyright © 2011-2022 走看看