C#__使用委托升级冒泡排序

news2025/1/18 6:46:55

 // 员工类

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

namespace Delegate委托
{
    class Employee // 员工类
    {
        public string Name { get; set; }
        public double Salary { get; set; }

        public Employee(string name, double salary)
        {
            Name = name;
            Salary = salary;
        }
        public static bool Compare(Employee e1, Employee e2)
        {
            return e1.Salary > e2.Salary;
        }

    }
}

// 冒泡函数

        public static void Sort<T>(T[] data, Func<T, T, bool> Compare) // 定义一个泛型 T 为数据类型
        {
            bool swaped = true; // 循环进行的判断条件
            do
            {
                swaped = false;

                for (int i = 0; i < data.Length - 1; i++)
                {
                    if (Compare(data[i], data[i + 1]))
                    {
                        T temp = data[i];
                        data[i] = data[i + 1];
                        data[i + 1] = temp;

                        swaped = true;
                    }
                }
            } while (swaped);
        }

// 调用

            Employee[] employees = //定义一个Employee类型数组
            {
                new Employee("Mack", 20000),
                new Employee("Mike", 12000),
                new Employee("Lack", 8000),
                new Employee("Black", 20000),
                new Employee("Mich", 15000)
            };

            Sort<Employee>(employees, Employee.Compare); // 使用排序

            foreach (Employee e in employees)
            {
                Console.WriteLine(e.Name + ":" + e.Salary);
            }

            /*
            Lack:8000
            Mike:12000
            Mich:15000
            Mack:20000
            Black:20000
             */

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/884814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二叉树的存储结构(链式存储)—— 数据结构与算法

&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️ &#x1f4a5;个人主页&#xff1a;&#x1f525;&#x1f525;&#x1f525;大魔王&#x1f525;&#x1f525;&#x1f525; &#x1f4a5;代码仓库&#xff1a;&#x1f525;&#x1f525;魔…

进行 200 瓦太阳能 (PV) 模块设计以测量太阳能光伏阵列的电压、电流和功率、综合负荷频率和电压控制系统的方法研究(Simulink实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

pycharm调整最大堆发挥最大

python程序运行时&#xff0c;怎么提高效率&#xff0c;设置pycharm最大堆过程如下&#xff1b; 一、进入设置pycharm最大堆&#xff1b; 二、进入设置pycharm最大堆&#xff1b; 如果8g设置为6g左右&#xff0c;占75%左右最佳

问题记录和细节补充

【问题记录】ORA-01400: 无法将 NULL 插入 Ajax 调用为Execute Server-Side Code返回了服务器错误ORA-01400: 无法将 NULL 插入 ("YWJA"."DEPT_TEST_WXX2"."DEPT_ID")。 原因&#xff1a;主键非自增&#xff0c;输入时并未有主键值传递&#x…

串是什么,串存储结构的3种实现方法

目录 串是什么&#xff0c;串存储结构的3种实现方法 串存储结构的具体实现 串的堆分配存储结构 串的块链存储结构 串是什么&#xff0c;串存储结构的3种实现方法 数据结构中&#xff0c;字符串要单独用一种存储结构来存储&#xff0c;称为串存储结构。这里的串指的就是字符…

判断Series序列是否含有空值NaN的Series.hasnans方法

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 判断Series序列是否含有空值NaN Series.hasnans [太阳]选择题 关于以下代码的说法中正确的是? import pandas as pd import numpy as np a pd.Series([1,np.nan],index["a","…

“想都是问题,干才是答案”是错误的,雷军说也不行

前几天&#xff0c;在为什么过去十年AI创业失败了一文中提了一个观点&#xff1a; “干就完了”式思维&#xff0c;是新式的刻舟求剑&#xff0c;剧毒&#xff0c;谁吃谁死。 没想到没过几天雷老板一个演讲又把这点炒到各个媒体的头条上&#xff0c;比如&#xff1a;“雷军20…

关于月球深层内部的谜团依然存在

地球物理数据表明&#xff0c;月球地幔的底部部分熔融或含有钛铁矿&#xff0c;但改进的流变学模型使这一层的存在受到质疑。 月球的内部结构只能使用远程地球物理数据来约束。一项新的分析表明&#xff0c;月球地幔深处的一个独特层&#xff0c;靠近深层月震发生的地方&#x…

大数据:Numpy基础应用详解

Numpy基础应用 Numpy 是一个开源的 Python 科学计算库&#xff0c;用于快速处理任意维度的数组。Numpy 支持常见的数组和矩阵操作&#xff0c;对于同样的数值计算任务&#xff0c;使用 NumPy 不仅代码要简洁的多&#xff0c;而且 NumPy 的性能远远优于原生 Python&#xff0c;…

小米平板6 Max 14评测:4窗口显示就是爽 多任务体验可媲美PC

一、前言&#xff1a;小米发布新款14英寸超大屏平板 专注生产力体验 加上网课、居家办公的普及&#xff0c;再加上各大手机厂商都开始搭建起自家的生态&#xff0c;尤其平板这个以往不被重视的品类&#xff0c;也开始找到了它自身的定位。 尤其在2023年上半年发布的小米平板6 P…

深入理解Vue 3.0x中的Suspense和异步组件

深入理解Vue 3.0x中的Suspense和异步组件 Vue 3.0x作为Vue.js框架的最新版本&#xff0c;引入了许多创新特性&#xff0c;其中Suspense和异步组件是重要的改进之一。在本文中&#xff0c;我们将深入探讨这两个特性&#xff0c;了解它们如何为现代Web应用带来更好的性能和用户体…

【C++11保姆级教程】final和override

文章目录 前言一、final关键字的使用1.1final关键字修饰类1.2final关键字修饰成员函数 1.3final的优势1.4final的劣势二、override关键字的使用2.1使用override关键字重写虚函数2.3override的优势 总结 前言 在C编程中&#xff0c;我们常常需要使用继承和多态来构建复杂的程序…

TTS | VocGAN声码器训练自己的数据集

哈喽&#xff0c;今天给大家介绍的是如何使用VocGAN声码器训练自己的数据集。 原文 VocGAN: A High-Fidelity Real-time Vocoder with a Hierarchically-nested Adversarial Network 想要论文解读&#xff0c;请参考我的这篇文章~ 本博客主要包括以下内容&#xff1a; 目录…

如何将短视频做成动态图?教你快速gif制作的方法

将产品或服务的短视频转换为gif图像后&#xff0c;可以在网站、电子邮件或社交媒体广告中使用&#xff0c;以吸引潜在客户的兴趣&#xff0c;那么怎么才能把短视频转gif图片呢&#xff1f;当然是使用专业的短视频转gif工具&#xff08;在线视频转换gif-视频转gif转换器-gif.cn_…

C语言,结构体,结构体大小,

1、结构体&#xff1a; 用于存储不同数据类型的多个相关变量&#xff0c;从而形成一个具有独立性的组合数据类型。 结构体的声明&#xff1a; struct 结构体类型名{ 数据类型 成员1&#xff1b; 数据类型 成员2&#xff1b; 数据类型 成员3&#xff1b; ……… }&#xff1…

观察级水下机器人使用系列之六超短基线(上)

观察级水下机器人使用的超短基线型号是Micro-Ranger2&#xff0c;由换能器MRT、甲板单元&#xff08;ESH&#xff09;、信标&#xff08;Nano)和计算机组成。超短基线主要用于深水&#xff08;大于100m&#xff09;&#xff0c;在浅水环境下&#xff0c;会有多径时延扩展&#…

FreeRTOS qemu mps2-an385 bsp 移植制作 :系统启动篇

相关文章 FreeRTOS qemu mps2-an385 bsp 移植制作 &#xff1a;环境搭建篇 开发环境 Win10 64位 VS Code&#xff0c;ssh 远程连接 ubuntu VMware Workstation Pro 16 Ubuntu 20.04 FreeRTOSv202212.01&#xff08;备注&#xff1a;可以在 github 获取最新版本&#xff0…

亿赛通电子文档安全管理系统任意文件上传漏洞复现

0x01 产品简介 亿赛通电子文档安全管理系统&#xff08;简称&#xff1a;CDG&#xff09;是一款电子文档安全加密软件&#xff0c;该系统利用驱动层透明加密技术&#xff0c;通过对电子文档的加密保护&#xff0c;防止内部员工泄密和外部人员非法窃取企业核心重要数据资产&…

openGauss学习笔记-41 openGauss 高级数据管理-匿名块

文章目录 openGauss学习笔记-41 openGauss 高级数据管理-匿名块41.1 语法41.2 参数说明41.3 示例 openGauss学习笔记-41 openGauss 高级数据管理-匿名块 匿名块&#xff08;Anonymous Block&#xff09;是存储过程的字块之一&#xff0c;没有名称。一般用于不频繁执行的脚本或…

【Unity每日一记】方位辨别—向量的叉乘点乘结合

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…