/// <summary>
/// 冒泡排序
/// </summary>
static void BubbleSort()
{
int[] array = { 5, 2, 7, 4, 8, 9, 1, 3, 6 };
int count = 0;
bool flag = true;
for (int i = 0; i < array.Length; i++)
{
flag = true;
for (int j = 0; j < array.Length - 1 - i; j++)
{
if (array[j] > array[j + 1])
{
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
flag = false;
}
}
count++;
if (flag)
{
break;
}
}
foreach (var item in array)
{
Console.WriteLine(item);
}
}
/// <summary>
/// 选择排序
/// </summary>
static void SelectionSort()
{
int[] array = { 5, 2, 7, 4, 8, 9, 1, 3, 6 };
int minIndex = 0;
for (int i = 0; i < array.Length - 1; i++)
{
minIndex = i;
for (int j = 1 + i; j < array.Length; j++)
{
if (array[j] < array[minIndex])
{
// 保存最小元素的下标
minIndex = j;
}
}
// 此时已经找到最小元素的下标
// 将最小元素与前面的元素交换
int temp = array[minIndex];
array[minIndex] = array[i];
array[i] = temp;
}
foreach (var item in array)
{
Console.WriteLine(item);
}
}
/// <summary>
/// 插入排序
/// </summary>
static void InsertionSort()
{
int[] array = { 5, 2, 7, 4, 8, 9, 1, 3, 6 };
for (int i = 1; i < array.Length; i++)
{
//定义待插入的数
int insertValue = array[i];
//找到待插入数的前一个数的下标
int insertIndex = i - 1;
while (insertIndex >= 0 && array[insertIndex] > insertValue)
{
array[insertIndex + 1] = array[insertIndex];
insertIndex--;
}
array[insertIndex + 1] = insertValue;
}
foreach (var item in array)
{
Console.WriteLine(item);
}
}
/// <summary>
/// 希尔排序
/// </summary>
static void ShellSort()
{
int[] array = { 5, 2, 7, 4, 8, 9, 1, 3, 6 };
for (int gap = array.Length / 2; gap > 0; gap /= 2)
{
Console.WriteLine("组数:" + gap);
//对数组进行分组
for (int i = gap; i < array.Length; i++)
{
for (int j = i - gap; j >= 0; j -= gap)
{
if (array[j] > array[j + gap])
{
int temp = array[j];
array[j] = array[j + gap];
array[j + gap] = temp;
}
}
}
}
foreach (var item in array)
{
Console.WriteLine(item);
}
}
相关推荐
告别手动画图!用Cadence SKILL写一个参数化电感PCell(附完整代码)
本文详细介绍了如何使用Cadence SKILL语言开发参数化电感PCell,实现电感版图的自动化生成。通过动态调整线宽、圈数等几何参数,自动创建端口并进行工艺规则校验,大幅提升高频电路设计效率。附完整代码示例,帮助工程师快速掌握PCell开发技巧。
C#面试易错题
1.在C#中,int[][]是定义一个int型的二维数组? 2. 请问, o.MethodA 调用的是? 3.以下关于 ref 和 out 描述哪些项是正确的?() 4.异常类对象均为System.Exception类或其子类的对象? 5.接口是一种引用类型,在接口中可以声明( ),但不可以声明公有的域或私有的成员变量。 6.说法正确的是 7.在C#中,索引器是专门用来访问对象中的数组信息的 8.接口中的成员不可以有访问域修饰符,但可以有其它修饰符? 9.在C#中,装箱操作是将值类型转化成引用类型? 10.
Optisystem软件与Matlab软件的联合数据读取
目录 Matlab软件程序编写 Optisystem软件的连接与设置 数据读取结果 Matlab软件程序编写 利用Matlab软件按照下图编写程序,保存为getdata.m文件。 OutputPort1 =InputPort1; fileID=fopen('OSAdata.txt','wt'); fprintf(fileID,'%f\n',OutputPort1.Sampled.Signal); fclose(fileID); Optisystem软件的连接与设置 (以基于线性插值法
c#中int[][]和int[,]的区别与比较
c#中int[,]和int[][]的区别
逆变器方案(工频全套)工频正弦波逆变器开发板全套设计资
逆变器方案(工频全套)工频正弦波逆变器开发板,24V-72V通用12只TO-247封装MOS管,额定输出功率6500W以下;配有触摸屏操作界面,运行数据一目了然,带市电互补UPS功能,可选择电池优先或市电有限工作,我们的开发板均从实战角度出发,让您的学习更便捷,包含全套设计资料,PCB.原理图.源代码,程序均有中文注释,MCU选用美国微芯公的PIC-8位单片机,民用数字电源首选单片机,抗干扰能力强,运行稳定。...
JetBrains Air:多Agent协同的IDE运行时架构解析
IDE智能编程正从单模型增强迈向多Agent协同范式。多Agent架构通过职责分离、上下文精简与运行时隔离,显著提升代码生成稳定性与合规性;其核心依赖轻量级嵌入式运行时(如ARL),支持AST级内存共享、eBPF安全拦截与毫秒级冷启动。该架构天然适配本地化部署、离线开发与高安全合规场景(如PCI-DSS、金融内网),并为Java/Python/TS等语言提供可扩展的规则驱动开发流水线。JetBrains Air正是这一技术路径的工程化落地代表。
C#中int[][]与int[,]的比较
一、定义 首先我们定义这样两个对象 int[,] arr1 = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; int[][] arr2 = { new int[] { 1, 2, 3 }, new int[] { 4, 5, 6 }, new int[] { 7, 8, 9 } }; 二、维数(秩) 然后编译上面的对象,看看值是怎样的 从上图中...
QCPColorMap实现瀑布图
QCPColorMap实现真正的瀑布图
C# 排序的多种实现方式(经典)
排序是我们编程时的常用操作,实现方式也有很多种,本篇文章列举几种我常用的用法,希望对大家有用!
VisDrone2019数据集实战:从下载到YOLO格式转换的完整指南
本文提供了一份完整的VisDrone2019数据集实战指南,详细介绍了从数据集下载、理解其独特的标注格式,到转换为YOLO模型可直接训练格式的全过程。通过清晰的代码示例和步骤讲解,帮助读者掌握处理复杂无人机视觉数据集的核心技能,为基于YOLO的目标检测模型训练做好准备。
【实战指南】利用CAN适配器高效调试CAN总线通信
本文提供了一份利用CAN适配器高效调试CAN总线通信的实战指南。文章从硬件连接、终端电阻配置、软件参数设置等基础环节入手,详细解析了CAN适配器作为关键调试工具的工作原理与使用方法,并针对常见的通信故障提供了系统化的问题排查思路,帮助工程师快速打通通信链路,提升调试效率。
C#几种常见的排序方式
1.冒泡排序 原理:比较两个相邻的元素,将其中大的一个元素移到后方,这样第一轮比较完成后,最大的元素就排到了元素的末尾 通过几轮的比较就可以将 所有的元素进行从大到小的排序 我们假定有一个数组 int[] arr={100,30,50,200,60,79,-10,-50,0}; 第一轮比较100和30,如果左边的元素大于右边的元素,则交换 比较的结果是30 100,以此类推100 和50...
Xilinx DDR3 MIG IP核设计--汇总导航
快速上手Xilinx DDR3 IP核----汇总篇
使用几种常用排序方法对C#数组进行排序的代码
工作之余,把写代码过程中比较重要的一些代码段收藏起来,如下的代码是关于使用几种常用排序方法对C#数组进行排序的代码,希望能对各朋友有帮助。 using System; namespace DataStruct { public class Sorter { public static void BubbleSort(int[] lis...
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
C#实现几种常用的排序方法
C#实现几种常用的排序方法 一、选择排序 static void SelectionSort(int[] array) { for (int i = 0; i < array.Length; i++) { int temp = i; for (int j = i+1; j < array.Length; j++) ...
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
c#几种排序方法
MergeSort`方法首先检查序列长度是否大于1,然后找到中间点,分别对左右两部分递归调用自身进行排序,最后通过`Merge`方法将排序好的两个子序列合并成完整有序的序列。它的工作方式是每一次从未排序序列中找到最小(或最大)的元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。冒泡排序通过重复遍历待排序的数列,每次遍历时都将相邻两个元素进行比较,如果他们的顺序错误(例如对于升序排列来说,前面的元素大于后面的元素),就交换这两个元素的位置。
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
C#对List中的数据排序的几种方法
文章目录前言一、Sort()方法二、对自定义类型进行排序1.继承接口IComparable<>2.通过委托方法进行排序3.通过匿名函数、Lambda表达式排序 前言 在C#中List<>是一个很好用的容器,采用泛型避免了ArrayList中经常出现的拆箱装箱,List<>中还提供了很多操作数据集合的方法。我们往往要对集合中的数据进行排序操作,下面简单介绍几种方法。 一、Sort()方法 直接使用成员方法Sort()只能对C#本身的几种类型进行排序,比如int,floa
几种常用的C#排序方法简介
这五种C#排序方法,其实在其他语言平台中也是常见的,因此C#排序方法也可以说是其他语言的排序方法,只不过实现的语言不同罢了。 在网上看到很多经典排序方法,算法分: 1:插入排序 a.直接插入排序 b.希尔排序 2:交换排序 a.冒泡排序 b.快速排序 3:选择排序 a.直接选择排序 4:归并排序 a.归并排序 5:分配排序 a.箱排序 b.基数排序 本人常用的三种C#排...
C#几种排序方法
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page ...
C# 数组的几种排序方法
1.直接插入排序法 for (int i = 0; i < arr.Length; i++) { int temp = arr[i]; int j = i; while ((j>0)&&(arr[j-1]>t...
几种常用排序方法的C#实现
详见:http://student.zjzk.cn/course_ware/data_structure/web/paixu/paixu8.3.1.1.htm 在网上搜罗了一下,各种排序方法的实现: 1:插入排序 a.直接插入排序 b.希尔排序 2:交换排序 a.冒泡排序 b.快速排序 3:选择排序 a.直接选择排序 4
C# 几种常见的排序方法
1.冒泡排序 1 //冒泡排序 2 public void BubbleSort(int[] list) 3 { 4 int i, j, temp; 5 bool done = false; 6 j = 1; 7 while ((j ...
C#中几种排序的方法
一,冒泡排序 /// <summary> /// bubbleSort; /// /// /*理解其实程序就是思路的复述而已*/ /// </summary> /// <param name="desti">目标数组</param> /// <param name="swapTimes">交换次数&am
366



被折叠的 条评论
为什么被折叠?



