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

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

下面直接上代码

双重循环方式:

 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();
}
}
}

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

最新文章

  1. uwp如何建立任何形状的头像,如圆形,方形,六边形等
  2. Unity手游之路&lt;二&gt;Java版服务端使用protostuff简化protobuf开发
  3. 再过几个月Apple Watch就要正式发布了
  4. Python isdigit()方法
  5. u-boot移植总结(二)LED点灯调试 和 u-boot加载地址
  6. Http Url Get请求方式需要对中文参数进行编码
  7. 客户端无法tcp连接上本地虚拟机的问题(最后是linux防火墙问题)
  8. C++中的左值和右值
  9. perl 正则表达式之匹配
  10. 利用jquery.chained.remote实现多级级联
  11. Netty(RPC高性能之道)原理剖析
  12. SpringJPA主键生成采用自定义ID,自定义ID采用年月日时间格式
  13. wordpress使用阿里云邮件推送服务实现发送邮件
  14. H5 19-序选择器下
  15. [CQOI2016]K远点对
  16. Socket网络编程--聊天程序(1)
  17. Codeforces Round #481 (Div. 3) D. Almost Arithmetic Progression
  18. XDocument 使用
  19. php的无刷新实现方法
  20. PyCharm中Python代码提示:Shadows name from outer scope

热门文章

  1. shell 条件测试
  2. ZJCTF预赛一个.py的逆向题
  3. mybatis增强工具MyBatis-plus
  4. Mixing .NET
  5. 简单看看LockSupport和AQS
  6. Spring中的BeanPostProcessor详解
  7. 最小环(floyd以及dijkstra实现+例题)
  8. Shell之哈希表
  9. 理解Java虚拟机中的栈、堆、堆栈
  10. nodejs爬虫第一篇---&gt; request、cheerio实现小爬虫