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;
    }
  • 相关阅读:
    Intent flag 与启动模式的对应关系
    Activity的启动模式---总结
    NDK---使用,开发步骤
    自定义ViewGroup
    android:process结合activity启动模式的一次实践
    Java单元测试之覆盖率统计eclemma
    Java单元测试之JUnit篇
    结对编程1
    个人作业1——四则运算题目生成程序(基于控制台)
    Coding使用方法
  • 原文地址:https://www.cnblogs.com/libin123/p/10420088.html
Copyright © 2011-2022 走看看