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;
    }
  • 相关阅读:
    010.Python文件指针与文件修改
    009.Python之with管理与文件操作的其他方法
    008.Python之文件的基本操作
    007.Python基础数据类型之元组、字典与集合
    006.Python基础数据类型之字符串与列表
    005.python基础之循环结构与数字类型数据
    004.python基础知识3
    003.python基础知识2
    002.python基础知识1
    001.计算机基础知识
  • 原文地址:https://www.cnblogs.com/libin123/p/10420088.html
Copyright © 2011-2022 走看看