美文网首页
单链表的基本概念

单链表的基本概念

作者: 三角绿毛怪 | 来源:发表于2019-07-15 23:09 被阅读0次

单链表的最基本创建和操作

通过友元来处理私有部分

#include <iostream>
using namespace std;
#include "ThreeLetterList.h"

//通过友元类来处理私有部分
class List;
class Node//节点
{
friend class List;//友元类操作私有数据
private:
    int data;//数据域
    Node* link;//指针域
};
class List//链表
{
public:
    void test();
    void show();

private:
    Node* first;//指向第一个节点

};

void List::show()//来输出这三个节点吧
{
    cout << first->data << "->"
        << first->link->data << "->"
        << first->link->link->data << endl;
}

void List::test()
{
    Node* f = new Node;//创建一个节点
    f->data = 44;
    f->link = 0;//指针指向了0

    first = f;//把头指针指向这个节点

    f = new Node;//重新利用这个指针再创建一个新的节点
    f->data = 72;
    f->link = 0;

    first->link = f;//第一个节点的link指向这个节点

    f = new Node;
    f->data = 210;
    f->link = 0;

    first->link->link = f;//这样就把三个节点串起来了

    
}
int main()
{
    List a;
    a.test();
    a.show();
    
    ThreeLetterList l;
    l.test();
    l.show();

    return 0;
}

通过类的嵌套来实现

#pragma once
//头文件改写的都写上
#ifndef THREELETTERLIST_H
#define THREELETTERLIST_H

#include<iostream>
using namespace std;

//通过嵌套类来处理私有部分
//基本都和前面那部分代码一个道理啦
class ThreeLetterList
{
    //类嵌套
class ThreeLetterNode
{
public:
    char data[3];
    ThreeLetterNode* link;
};
public:
    void test();
    void show();
private:
    ThreeLetterNode* first;
};
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()
{
    cout << first->data[0] << first->data[1] << first->data[2] << "->"
        << first->link->data[0] << first->link->data[1] << first->link->data[2] << endl;
}

#endif

今天的学习结束了,加油!

相关文章

  • 数据结构与算法之链表(三)单链表的常用操作

    引言 在上篇文章数据结构与算法之链表(二)单链表的基本实现中我们学习了单链表的基本概念,本篇我们在此基础之上研究单...

  • 单链表的基本概念

    单链表的最基本创建和操作 通过友元来处理私有部分 通过类的嵌套来实现 今天的学习结束了,加油!

  • 数据结构---链式存储

    1、单链表的基本概念 单链表是线性表链式存储的一种形式,其中的结点一般含有两个域,一个存放数据信息的info域,另...

  • 单链表 C++

    单链表 C++ 题目 1、创建单链表2、初始化单链表3、释放单链表4、获取单链表中元素的数量5、输出单链表中的所有...

  • 线性表:顺序表和链表

    顺序表(数组)优缺点 链表优点 单链表使用 单链表结构 单链表初始化 单链表初始化 单链表建立: 头插法 尾插法 ...

  • 单向链表算法

    单向链表 反转单向链表 单链表查找倒数第k个节点 单链表递归倒序打印 单链表排序 单链表删除重复节点

  • 25_静态单链表的实现

    关键词: 单链表的一个缺点、静态单链表设计思路、静态单链表的继承层次结构、静态单链表的实现思路、静态单链表的实现 ...

  • 线性表的链式存储-单链表

    单链表操作 [x] 单链表的创建(尾插法、头插法) [x] 单链表的查找操作 [x] 单链表的删除操作 [x] 单...

  • JavaScript数据结构2——单链表

    以下的代码包括了以下几部分 单链表初始化 单链表的插入 单链表的删除 单链表的创建(头插法) 单链表的创建(尾插法...

  • 链表基本操作

    1、删除单链表节点 2、插入单链表结点 单链表具体实现

网友评论

      本文标题:单链表的基本概念

      本文链接:https://www.haomeiwen.com/subject/pllakctx.html