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;
    }
  • 相关阅读:
    linux 打包 压缩
    HDU 2036 改革春风吹满地
    Windows 7 蓝屏代码大全 &amp; 蓝屏全攻略
    Linux Shell參数扩展(Parameter Expansion)
    android不是内部或外部命令,也不是可执行的程序或批处理文件
    Object类
    抽象类中注意事项
    抽象类和接口的区别
    类接口之间的关系
    接口
  • 原文地址:https://www.cnblogs.com/libin123/p/10420088.html
Copyright © 2011-2022 走看看