【C++】用类模板实现单链表(SList)

本文介绍了如何使用C++的类模板来实现单链表(SList)。通过实例代码展示了如何创建、插入、删除节点,提供了一种高效且灵活的链表操作方式。
摘要由CSDN通过智能技术生成

只是把曾经用C语言写过单链表改写为类模板。直接上代码:

#define _CRT_SECURE_NO_DEPRECATE 1

#include<assert.h>
#include<iostream>
using namespace std;

template<class T>
class SList;

template<class T>
class ListNode
{
	friend SList<T>;
public:
	ListNode(const T& data)
		: _next(nullptr)
		, _data(data)
	{}

	T& Getdate()
	{
		return _data;
	}

	ListNode<T>* Getnext()
	{
		return _next;
	}
private:
	T _data;
	ListNode<T>* _next;
};


template <class T>
class SList
{
	friend ostream& operator<<(ostream& _cout, SList<T>& s)
	{
		for (ListNode<T>* cur = s._head; cur != nullptr; cur = cur->Getnext())
			_cout << cur->Getdate() << "--->";
		return _cout;
	}
public: 
	SList()
		:_head(nullptr)
		,_tail(nullptr)
	{}

	SList(const SList<T>& s)
		:_head(nullptr)
		,_tail(nullptr)
	{
		if (!s._head)
			return;
		ListNode<T>*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值