冒泡排序原理:(升序)通过当前位置数和后一个位置数进行比较 如果当前数比后一个数大 则交换位置, 完成后 比较基数的位置变成下一个数。直到数组末尾,当程序运行完第一遍 最大的数已经排序到最后一个位置了。次数可以减少循环数不用管最后一个数

降序排序同理 不过是把比较方式变成判断当前数是否小于下一个数 如果小于则交换

下面直接上代码

双重循环方式:

 using System;
using System.Collections.Generic; namespace TestConsole
{
class Program
{
static void Main(string[] args)
{
//创建一个乱序数组
List<int> ints = new List<int> { , , , , , , , , , , , , , , , , , , , , , , , , , , , , , }; //获取数组长度
int count = ints.Count; //外圈循环 数组有多少个数就循环多少次 每完成一次内部循环减少一次外部循环(最后一个数以经是最大 不用参与比较了)
for (int i = count; i > ; i--)
{
//内部循环 比较当前位置数和下一个位置的数大小
for (int j = ; j < i; j++)
{
//判断是否到数组尾
if (j + == i) continue;
//判断当前数是否比下一个数大
if (ints[j] > ints[j + ])
{
//把当前数替换到临时变量
var t = ints[j];
//把下一个数替换到当前位置
ints[j] = ints[j + ];
//把临时变量替换到下一个数的位置
ints[j + ] = t;
}
}
//减少外圈循环
count--;
}
Console.WriteLine(string.Join(",", ints)/*string.Join("分隔符",对象数组) 用于把数组元素分割成字符串*/ );
Console.ReadKey();
}
}
}

while实现方式:

 using System;
using System.Collections.Generic; namespace TestConsole
{
class Program
{
static void Main(string[] args)
{
//创建一个乱序数组
List<int> ints = new List<int> { , , , , , , , , , , , , , , , , , , , , , , , , , , , , , }; //获取数组长度
int count = ints.Count; //外圈循环 数组有多少个数就循环多少次 每完成一次内部循环减少一次外部循环(最后一个数以经是最大 不用参与比较了)
while (count > )
{
//内部循环 比较当前位置数和下一个位置的数大小
for (int j = ; j < count; j++)
{
//判断是否到数组尾
if (j + == count) continue;
//判断当前数是否比下一个数大
if (ints[j] > ints[j + ])
{
//把当前数替换到临时变量
var t = ints[j];
//把下一个数替换到当前位置
ints[j] = ints[j + ];
//把临时变量替换到下一个数的位置
ints[j + ] = t;
}
}
//减少外圈循环
count--;
}
Console.WriteLine(string.Join(",", ints)/*string.Join("分隔符",对象数组) 用于把数组元素分割成字符串*/ );
Console.ReadKey();
}
}
}

纯属个人理解,如果偏差请各位大佬指正~~~~

C#代码实现-冒泡排序的更多相关文章

  1. 数组排序代码,冒泡排序&快速排序&选择排序

    冒泡排序: for(var i=0;i<arr.length-1;i++){ for(var j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1 ...

  2. [C][代码实例]冒泡排序

    #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <string.h& ...

  3. 2用java代码实现冒泡排序算法(转载)

    import java.util.Scanner; public class Maopao { public static void main(String[] args) { System.out. ...

  4. 简单的Java逻辑小代码(打擂台,冒泡排序,水仙花数,回文数,递归)

    1.打擂台 简单的小代码,打擂台.纪念下过去,祝福下新人. public static void main(String[] args){ int[] ld = {1,4,2,10,8,9,5}; i ...

  5. Java常见排序算法之冒泡排序

    在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let ...

  6. JS 冒泡排序从学到优化

    目的:理解算法 深化算法 冒泡排序: 直接上动图好于文字 一个冒泡实例 45,67,23,88,21,6,99// 第一轮 6次// 45 67 23 88 21 6 99// 45 23 67 88 ...

  7. Python版冒泡排序算法

    0 为什么写本文 一方面对经典排序算法冒泡排序进行复习,另一方面通过实际应用来检验python基础知识的掌握情况,包括range函数.len函数.for循环.if语句.函数定义与调用.列表的排序等知识 ...

  8. 排序算法--冒泡排序(Bubble Sort)_C#程序实现

    排序算法--冒泡排序(Bubble Sort)_C#程序实现 排序(Sort)是计算机程序设计中的一种重要操作,也是日常生活中经常遇到的问题.例如,字典中的单词是以字母的顺序排列,否则,使用起来非常困 ...

  9. 《汇编语言 基于x86处理器》第九章字符串与数组部分的代码

    ▶ 书中第九章的程序,主要讲了字符串相关的输入.输出,以及冒泡排序.二分搜索 ● 代码,Irvine32 中的字符串库函数代码范例 INCLUDE Irvine32.inc .data str1 BY ...

随机推荐

  1. Qt Installer Framework翻译(5-2)

    创建在线安装程序 联机安装程序获取二进制安装文件中的内容以及存储库描述(Updates.xml).请创建一个存储库,并将其上传到Web服务器.然后在用于创建安装程序的config.xml文件中指定存储 ...

  2. 阿里fastjson解析

    解析案例 String object="{total=1, rows=[{_Account=3646808, UserID=131514, Mt4Name=SewwoaIQQS, Serve ...

  3. 创建dynamics CRM client-side (十四) - Web API

    Xrm.WebApi 是我们做前端开发不可不缺少的内容. Xrm.WebApi 分为online和offline online: 可以实现和服务器的CRUD交互 offline: 多用于mobile ...

  4. Android教程2020 - RecyclerView使用入门

    本文介绍RecyclerView的使用入门.这里给出一种比较常见的使用方式. Android教程2020 - 系列总览 本文链接 想必读者朋友对列表的表现形式已经不再陌生.手机上有联系人列表,文件列表 ...

  5. CTF--HTTP服务--SQL注入-X-Forwarded-For报文头

    开门见山 1. 扫描靶场ip,发现PCS 192.168.31.196 2. 扫描靶场开放服务信息 3. 扫描靶场全部信息 4. 探测敏感信息 5. 查看靶场80端口的主界面 6. 使用AVWS工具进 ...

  6. Git详解之服务部署

    前言 到目前为止,你应该已经学会了使用 Git 来完成日常工作.然而,如果想与他人合作,还需要一个远程的 Git 仓库.尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心 ...

  7. day01_前言、入门程序、常量、变量

    day01_前言.入门程序.常量.变量 sysout :System.out.println(); Java 概述 本节主要内容: java 概述.常 DOS 命令.JRE.JDK 与 JVM.环境搭 ...

  8. SpringBoot使用JMS(activeMQ)的两种方式 队列消息、订阅/发布

    刚好最近同事问我activemq的问题刚接触所以分不清,前段时间刚好项目中有用到,所以稍微整理了一下,仅用于使用 1.下载ActiveMQ 地址:http://activemq.apache.org/ ...

  9. python day01学习

    1.python语言 # 89年 龟叔2.python的特点 # 优点 : 简明 简单 跨平台性好 # 缺点 : 慢 -执行速度相对其他语言慢 # 编程语言的分类:  # 编译型语言: c c++ j ...

  10. 超实用的Eclipse快捷键大全(解密为什么他们的代码写的又快又好~)

    1.Ctrl+s:快速保存代码 一定要记得随时随地用Ctrl+s来保存我们的代码哦!!!不然等到电脑关机或者是使用的Eclipse突然闪退就欲哭无泪了.此时脑海里就突然出现了哔哔哔的画面~ 2.Alt ...