c#实现单链表

参考了:https://www.cnblogs.com/wjcnet/p/3424533.html

第一次写链表,望留言指正!

源代码(包含所有信息):

/*单链表使用方法*/
/*
 *初始化链表:创建一个链表类SingleLinkedList的对象。传入一个结点以初始化链表或使用默认构造函数创建一个空链表
 * 插入操作:void Insert(Node<T> node,int pos)
 * 追加操作:void Append(T t_data)  void Append(Node<T> node)
 * 删除操作:void RemoveAt(int pos)
 * 获取某个位置的结点的方法:Node<T> GetAt(int pos)
 * 查找某个数据所在结点的方法:Node<T> Find(T t_data)
 * 打印整个链表结点的数据域(从头结点开始):void Print()
 * 判断链表是否为空:bool IsEmpty()
 * 获取链表长度:使用Length属性
 * 清空链表:void Clear()
 * 反转链表:void Converse()
 * 合并两个链表:SingleLinkedList<T> Combine(SingleLinkedList<T> list1,SingleLinkedList<T> list2)
*/


/*日志*/
/*
 *2018.10.4第一次创建
 2018.10.5 第一次增改:增加链表反转的方法,增加合并两个链表的静态方法
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace singleLinkedList
{
    //节点类
    public class Node<T>
    {
        //属性
        public T Data
        { get; set; }
        public Node<T> Next
        { get; set; }
        //方法
        public Node(T t_data = default(T))
        {
            Data = t_data;
            Next = null;
        }
    };

    //单链表类(工具)
    public class SingleLinkedList<T> {
        //属性
        public Node<T> Head
        {get; set;}
        public int Length { get; private set; }
        //方法
        public SingleLinkedList()
        {
            Head = null;
            Length = 0;
        }

        public SingleLinkedList(Node<T> node)
        {
            Head = node;
            Head.Next = null;
            Length = 1;
        }

        public void Append(T t_data)//追加节点:以传入结点的数据域的方式
        {
            Node<T> temp = new Node<T>(t_data);
            if (Head == null)
            {
                Head = temp;
                Length++;
                return ;
            }
            Node<T> h = Head;
            while (h.Next != null)
            {
                h = h.Next
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值