当前位置: 首页 > news >正文

中国建设人才信息网是官方网站吗网站信息化建设总结

中国建设人才信息网是官方网站吗,网站信息化建设总结,专门做爬虫的网站,网站开发 语言net目录 一、涉及到的知识点 1.Comparer.Default 属性 2.实现二叉树类BinaryTree步骤 (1)先设计一个泛型节点类 (2)再设计一个泛型的二叉树类 (3)最后设计Main方法 二、 使用泛型节点类 Node实现二叉树…

目录

一、涉及到的知识点

1.Comparer.Default 属性

2.实现二叉树类BinaryTree步骤

(1)先设计一个泛型节点类

(2)再设计一个泛型的二叉树类

(3)最后设计Main方法

二、 使用泛型节点类 Node实现二叉树类BinaryTree


一、涉及到的知识点

1.Comparer<T>.Default 属性

        返回由泛型参数指定的类型的默认排序顺序比较器。

public static System.Collections.Generic.Comparer<T> Default { get; }属性值
Comparer<T>
继承 Comparer<T> 并作为 T 类型的排序顺序比较器的对象。

        Comparer<T>.Default 属性是 C# 中 System.Collections.Generic命名空间下的一个属性。它返回一个 Comparer<T> 对象的默认实例,该对象可以对泛型集合中的对象进行比较。默认情况下,这个比较器根据对象的自然顺序进行比较,即通过调用对象的 CompareTo 方法进行比较。

// Comparer<T>.Default 属性namespace _135_3
{public class Program{public static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);List<int> numbers = [3, 1, 4, 2];// 使用默认比较器对集合进行排序numbers.Sort(Comparer<int>.Default);Console.WriteLine(string.Join(", ", numbers));}}
}
//运行结果:
/*
1, 2, 3, 4*/

        在这个例子中创建了一个包含整数的列表。然后,使用 Comparer<int>.Default 属性提供的默认比较器对列表进行排序。最后,输出排序后的列表,可以看到数字已经按照升序排列。

2.实现二叉树类BinaryTree<T>步骤

(1)先设计一个泛型节点类

public class Node<T>(T value)
{public T Data { get; set; } = value;public Node<T>? Left { get; set; } = null;public Node<T>? Right { get; set; } = null;
}

(2)再设计一个泛型的二叉树类

public class BinaryTree<T>
{public Node<T>? Root { get; private set; }public void AddNode(T value){Node<T> newNode = new(value);if (Root == null){Root = newNode;}else{Node<T> current = Root;while (true){if (Comparer<T>.Default.Compare(value, current.Data) < 0){if (current.Left == null){current.Left = newNode;break;}current = current.Left;}else{if (current.Right == null){current.Right = newNode;break;}current = current.Right;}}}}
}

(3)最后设计Main方法

        定义一个二叉树类的对象,引用类中的方法。

BinaryTree<int> tree = new();

二、 使用泛型节点类 Node<T>实现二叉树类BinaryTree<T>

// 使用泛型节点类 Node<T>设计实现二叉树类
namespace _135_1
{public class Node<T>(T value){public T Data { get; set; } = value;public Node<T>? Left { get; set; } = null;public Node<T>? Right { get; set; } = null;}public class BinaryTree<T>{public Node<T>? Root { get; private set; }public void AddNode(T value){Node<T> newNode = new(value);if (Root == null){Root = newNode;}else{Node<T> current = Root;while (true){if (Comparer<T>.Default.Compare(value, current.Data) < 0){if (current.Left == null){current.Left = newNode;break;}current = current.Left;}else{if (current.Right == null){current.Right = newNode;break;}current = current.Right;}}}}}class Program{static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);BinaryTree<int> tree = new();tree.AddNode(5);tree.AddNode(3);tree.AddNode(8);tree.AddNode(1);tree.AddNode(4);tree.AddNode(7);Console.WriteLine("中序遍历:");PrintInOrder(tree.Root!);Console.WriteLine("前序遍历:");PrintPreOrder(tree.Root!);Console.WriteLine("后序遍历:");PrintPostOrder(tree.Root!);Console.ReadKey();}static void PrintInOrder(Node<int> node){if (node != null){PrintInOrder(node.Left!);Console.WriteLine(node.Data);PrintInOrder(node.Right!);}}static void PrintPreOrder(Node<int> node){if (node != null){Console.WriteLine(node.Data);PrintPreOrder(node.Left!);PrintPreOrder(node.Right!);}}static void PrintPostOrder(Node<int> node){if (node != null){PrintPostOrder(node.Left!);PrintPostOrder(node.Right!);Console.WriteLine(node.Data);}}}
}
//运行结果:
/*
中序遍历:
1
3
4
5
7
8
前序遍历:
5
3
1
4
8
7
后序遍历:
1
4
3
7
8
5*/

        在这个实例中使用 Comparer<T>.Default 来比较两个值的大小。这个方法适用于任何实现了 System.IComparable<T> 接口的类型,因此可以使用任何实现了该接口的值类型或引用类型。

        这个程序的主要功能是添加一个新的节点到二叉树中。它首先检查根节点是否为空,如果为空,则将新的节点设置为根节点。否则,它将从根节点开始,递归地遍历二叉树,找到合适的位置插入新的节点。

        这个程序的实现是正确的,它可以用于存储和操作实现了 System.IComparable<T> 接口的类型。可以根据需要修改和扩展这个程序,例如,可以添加其他方法来遍历和操作二叉树。

http://www.yayakq.cn/news/244802/

相关文章:

  • 房产做网站吸引建设工程资质录入是在那个网站
  • 网站设计网页主页介绍合肥公司网站建设
  • 政务网站集约化建设要求wordpress 更改字体
  • 网站查询域名解析ip排版设计素材
  • 襄阳品牌网站建设怎样做月嫂网站
  • 网站主办单位负责人asp 网站开发实例教程
  • 多个网站备案wordpress主题知更鸟美化
  • 山西太原建站怎么做美食网站首页设计
  • 网站开发用什么程序好建行网站首页登录
  • 微网站设置国企ui设计招聘信息
  • 徐州企业自助建站北京市工程建设交易信息网站
  • 如何创建属于自己的网站长沙网上商城开发
  • 列举及简述网站建设的流程做网站推广的 什么是开户
  • 带做网站价位网页模板源代码
  • 免费行情软件app网站排行外贸网站整站程序
  • 内网建设网站外网访问合肥网络公司seo
  • 中山做百度网站的公司名称提高网站排名的软件
  • 个体工商户网站备案流程php网站 config
  • 多语言免费网站建设深圳手机网站建设公司
  • 北京海淀区网站开发广州seo营销培训
  • 沈阳网站建设渠道设计网站页面注意事项
  • 企业商城网站开发建设wordpress升级怎么退回
  • 做ppt找图片的网站四川省建设人才网站2018
  • 制作大型网站招生页面设计模板
  • 物流公司怎么做网站洛阳网电脑版
  • 青岛网站建设莫道网络企业文化建设网站建设
  • 中小型网站建设与管理 唐军民公司网站设计策划案
  • 模具加工东莞网站建设技术支持做网站外国的服务器
  • 做汽车的网站绍兴企业免费建站
  • 什么是推广型网站精品网站建设费用磐石网络名气