C# 中排序函数的总结

C#各种数组排序方法介绍 1、冒泡排序 双层for循环,数组内部元素不断比较交换,最终排序。 时间复杂度为O(n²) private void bubbleSort(int[] array) { int median=0; for(int i=0;i<array.Length-1;i++) { for(int j=i+1;j<array.Length;j++) { ... 阅读详情

sort 函数对数组中的数据进行升序排序,,(其中,sort函数有很多重载的形式,这里不再一一的说明)

Reverse函数对数组中的数据进行降序排序,,

static void Main(string[] args)
        {      
            // sort ,Reverse 排序的应用举例
            int[] intArr = { 1,4,2,3,99,34,22,16,8,100};
            Console.WriteLine("原数组为:");
            for (int i = 0; i < intArr.Length; i++)
            {
                Console.Write(intArr.GetValue(i));
                Console.Write("  ");
            }
            Console.WriteLine();
            Array.Sort(intArr);   // 用来升序排序的函数;
            Console.WriteLine("升序排序后的数组为:");
            for (int i = 0; i < intArr.Length; i++)
            {
                Console.Write(intArr.GetValue(i));
                Console.Write("  ");
            }
            Console.WriteLine();
            Array.Reverse(intArr);   // 用来降序排序的函数;
            Console.WriteLine("降序排序后的数组为:");
            for (int i = 0; i < intArr.Length; i++)
            {
                Console.Write(intArr.GetValue(i));
                Console.Write("  ");
            }

如何把二个数组联系在一起进行排序操作呢? 例,在学生的信息中有学号和姓名,按学号输出学生的信息怎样实现???

 static void Main(string [] args)
        {
           int  [] arrStuNum=new []{1,5,4,2,3};
           string [] arrStuName=new []{"小小","小赵","小薇","丹丹","小于"};
           Console.WriteLine("排序前的学生信息为:");
           for(int i=0;i<arrStuNum.Length;i++)
           {
               Console.WriteLine("{0}({1})  ",arrStuName[i],arrStuNum[i]);
           }

           Console.WriteLine("排序后的学生信息为:");
           Array.Sort(arrStuNum,arrStuName);   // 注意: Reverse 没有这样的用法;
           for (int i = 0; i < arrStuNum.Length; i++)
           {
               Console.WriteLine("{0}({1})  ", arrStuName[i], arrStuNum[i]);
           }
            Console.Read();
        }


C#实现函数式快排:从ImmutableList设计到递归排序 函数式编程强调数据不可变、操作无副作用与逻辑可组合,其核心体现于高阶函数(如filter)、递归结构和模式匹配等基础机制。在C#中复现Haskell风格快排,本质是重建对链表解构(head/tail)、纯函数过滤与惰性连接等原理的工程化理解。这一过程凸显了.NET原生集合(如List<T>)在不可变语义、O(1)结构访问和递归友好性上的局限,也揭示了ImmutableList作为轻量级函数式数据结构的技术价值——它不替代BCL通用集合,而专为递归算法、配置建模与领域特定语言(DSL)等强调可读性与组合性的场 阅读详情

相关推荐

排序函数的原理和使用方法详解(C#)

快速排序算法的基本思想是通过递归地划分数组,将小于某个基准值的元素放在基准值的左边,将大于基准值的元素放在基准值的右边,然后分别对左右两个子数组进行排序,最终实现整个数组的有序排列。排序是计算机编程中常用的操作之一,它可以将一组数据按照特定的顺序重新排列。函数使用的是快速排序(QuickSort)算法,这是一种经典的排序算法,具有较高的效率和稳定性。函数使用的是快速排序算法,具有较高的效率和稳定性。分别代表集合中的两个元素,通过比较它们的大小来确定排序顺序。函数的原理和使用方法,并提供相应的源代码示例。

TzData的博客 591

C#下的经典排序函数

 //选择排序 class SelectionSorter { private int min; public void Sort(int[] arr) { for (int i = 0; i { min = i; for (int j = i + 1; j { if (arr[j] min = j; } int t = arr[min]; arr[min] = arr[i]; arr[i] =

人生何适不艰难 赖是胸中万斛宽 1395

利用 Array.Sort()函数对数组排序

利用 Array.Sort()函数对数组排序,c#写的简单控制台应用程序

C#中sort排序相关用法介绍

本文介绍了C#中sort排序方法的使用几种情况,并且举例证明

qiaodahua的博客 7042

关于C#中排序函数的总结

下面小编就为大家带来一篇关于C#中排序函数的总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

从接线到组态:手把手教你搞定PROFIBUS-DP与PA的混合网络搭建(基于西门子TIA Portal)

本文详细介绍了PROFIBUS-DP与PA混合网络的搭建方法,基于西门子TIA Portal平台,从硬件选型、网络架构设计到组态配置和现场调试,提供了一套完整的实战指南。重点解析了DP/PA耦合器的使用、地址映射策略及网络诊断技巧,帮助工程师高效构建高可靠性的工业自动化网络。

weixin_32103009的博客 302

【C# 技术】 C# 常用排序方式——常规数据排序

在最近的项目中经常会对C#中的数据进行排序,对于基本数据类型,其排序方式比较简单,只需要调用内置算法即可实现,但对于自定义数据类型以及自定义排序规则的情况实现起来就比较麻烦,所以在本文章中将详细介绍一下在中C#中如何对数据进行排序。

grape_yan的博客 1966

利用Matlab绘制非线性系统相图:从理论到实践

本文详细介绍了如何利用Matlab进行非线性系统的相图绘制与相平面分析。从理论基础的状态空间转换出发,通过无阻尼线性谐振子和范德波尔振荡器等实例,手把手演示了使用ode45求解器绘制相图、分析平衡点与极限环的完整流程,并分享了方向场绘制、参数分岔探索及常见错误解决方案等高级技巧,为动力学系统分析与控制设计提供了直观强大的可视化工具。

yhn456789的博客 907

C#三个函数在主函数中调用(冒泡排序)

static void Main(string[] args) { M k = new HanShu.Program.M(); k.b3(k.b2(k.b())); Console.ReadKey(); } public class M { public int [] b() { Console.WriteLine(“请输入一个数来定义数组长度”); int z = Convert.ToIn...

SeptemberTan的博客 1407

CVPR2023新作HAT实战:5分钟搞定图像超分辨率重建(附代码)

本文介绍了CVPR2023新作HAT模型在图像超分辨率重建中的实战应用。HAT通过创新的混合注意力机制,显著提升了图像重建质量,能激活更多有效像素并减少伪影。文章提供了从环境配置到模型部署的完整指南,帮助开发者在5分钟内快速实现图像超分辨率重建,并附有代码示例和性能优化技巧。

weixin_29062613的博客 238

在Ubuntu 22.04上从零搭建FVCOM环境:手把手搞定Linux、Intel编译器与NetCDF库

本文详细指导在Ubuntu 22.04上从零搭建FVCOM环境,涵盖Linux系统配置、Intel编译器安装、NetCDF库编译及常见问题解决。通过手把手教程,帮助科研人员高效完成水动力数值模拟环境的部署,特别适合水环境研究领域的初学者。

weixin_30613727的博客 650

C#匿名函数排序交错数组

C#根据数组内元素排序交错数组

qq_45819701的博客 493

深入解析EtherCAT通讯DS402协议下的伺服电机控制模式选择与配置

本文深入解析了EtherCAT通讯DS402协议下的伺服电机控制模式选择与配置,详细介绍了六种核心控制模式(如PPM、CSP、CSV、CST)的应用场景及实战技巧。通过EtherCAT和DS402协议的高效配合,实现工业自动化中伺服电机的精准控制,提升设备性能与稳定性。

h0i1j2k3l的博客 1174

C#默认OrderBy()函数的排序问题

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33698043的博客 1万+

EDKII实战:手把手调试PciHostBridge.c,看UEFI如何分配你的PCIe设备资源(IO/Memory空间)

本文深入解析EDKII中PciHostBridge.c模块的工作原理,详细指导如何调试PCIe设备资源分配(IO/Memory空间)。通过实战案例展示UEFI环境下Root Bridge初始化、地址空间转换及协议安装等核心流程,提供常见问题排查方法与性能优化建议,帮助开发者解决PCIe设备兼容性问题。

weixin_29201933的博客 208

【华为OD机试真题 2025C卷新题】855、识文断句 | 机试真题+思路参考+代码分析(C++、Java、Py、C语言、JS)

【华为OD机试真题 2025C卷新题】855、识文断句 | 机试真题+思路参考+代码分析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备战华为

KJ.JK 1851

c#语言写一个数组排序函数

注意,虽然冒泡排序算法易于理解和实现,但它并不是最高效的排序算法,特别是对于大数据集来说。在实际应用中,你可能想要使用更高效的排序算法,如快速排序、归并排序等,或者直接使用.NET Framework提供的。冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。在排序过程中,我们通过两层循环来比较并交换数组中的元素,直到整个数组排序完成。方法,但如果你想要自己实现排序算法来加深理解,下面我将提供一个简单的冒泡排序算法示例。循环输出排序后的数组。

anlog的专栏 545

嵌入式STM32F407CET6移植OpenHarmony系统方法

文件末尾添加:export PATH=~/gcc-arm-none-eabi-10-2020-q4-major/bin:$PATH。编译完成文件输出在LiteOs源码目录下out/STM32F407_ATK_Explorer文件夹中。②点击connect to the target,下方会自动显示识别出来的芯片型号以及flash大小。⑤点击program verify并点击start,等待烧写并校验完成,你就能看到程序正在运行了。,在选择刚才我们说的Huawei_LiteOS.hex文件。

嵌入式技术开发 546

C#使用Sort函数对list排序

一个比较常见的问题,这个时候用快排啥的写起来有些麻烦。大致如下,起到个兜底的作用(性能肯定不及自己优化)

Tel17610887670的博客 422

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【C#】自定义Sort函数排序规则

sort()函数默认是升序排序,只能应用于C#指定数据类型,但这里要和大家分享的是自定义Sort函数排序的对象和规则,方便大家去选择适合自己项目的排序。 代码实现: using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Demo024 { ...

萧然 4772

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

C# 列表排序函数

List list=new List(); list.Reverse(); 从大到小排序 bonus.Sort();  从小到大排序

l8shi的专栏 968

c#使用“调用函数”的方法实现冒泡排序

这是本人学习C#写的第一段代码,键入数组,并且读取数组最后,调用冒泡pai

lanrenaishui的专栏 2425

C# 自定义List sort函数 排序

namespace TestCode1 { class IntSort : IComparer<int> { public int Compare(int x, int y) { if (x == y) return 0; else if (x < y) return -1; else return 1; } } class Progr.

瞬Future 620

c#:对两个字符串大小比较(不使用c#/java内部的比较函数),按升序排序

题目:首先需要实现一个函数:两个字符串大小比较(不得使用c#/java系统函数)的自定义函数;之后对一个字符串数据进行按升序排序(在排序过程中使用字符串大小比较时,使用自定义的字符串大小比较函数)。 以下是对一个字符串数据进行按升序排序我个人想到的实现方案: using System; using System.Collections.Generic; using System.Lin...

weixin_33682790的博客 999

C#初步了解复杂数据类型,函数方法和排序

初步了解复杂数据类型,值类型和引用类型的异同,冒泡排序和选择排序

乌托托的博客 576

C#排序函数和自定义比较器

C#排序函数和自定义比较器 例子

kydkong的博客 6315
上一篇: C# 二维数组中的常用函数及输出
下一篇: 别样表达式求值
chwei_cson
博客等级 码龄15年 62粉丝 25原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值