冒泡排序
来源:互联网 发布:淘宝不能晒单 编辑:程序博客网 时间:2024/05/16 09:07
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Diagnostics;
- using System.Threading;
- namespace BubbleSort
- {
- public class Program
- {
- static void Main(string[] args)
- {
- //五次比较
- for (int i = 1; i <= 5; i++)
- {
- List<int> list = new List<int>();
- //插入2k个随机数到数组中
- for (int j = 0; j < 2000; j++)
- {
- Thread.Sleep(1);
- list.Add(new Random((int)DateTime.Now.Ticks).Next(0, 100000));
- }
- Console.WriteLine("\n第" + i + "次比较:");
- Stopwatch watch = new Stopwatch();
- watch.Start();
- var result = list.OrderBy(single => single).ToList();
- watch.Stop();
- Console.WriteLine("\n快速排序耗费时间:" + watch.ElapsedMilliseconds);
- Console.WriteLine("输出前是十个数:" + string.Join(",", result.Take(10).ToList()));
- watch.Start();
- result = BubbleSort(list);
- watch.Stop();
- Console.WriteLine("\n冒泡排序耗费时间:" + watch.ElapsedMilliseconds);
- Console.WriteLine("输出前是十个数:" + string.Join(",", result.Take(10).ToList()));
- }
- }
- //冒泡排序算法
- static List<int> BubbleSort(List<int> list)
- {
- int temp;
- //第一层循环: 表明要比较的次数,比如list.count个数,肯定要比较count-1次
- for (int i = 0; i < list.Count - 1; i++)
- {
- //list.count-1:取数据最后一个数下标,
- //j>i: 从后往前的的下标一定大于从前往后的下标,否则就超越了。
- for (int j = list.Count - 1; j > i; j--)
- {
- //如果前面一个数大于后面一个数则交换
- if (list[j - 1] > list[j])
- {
- temp = list[j - 1];
- list[j - 1] = list[j];
- list[j] = temp;
- }
- }
- }
- return list;
- }
- }
- }
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 先安装.net 4.0后安装3.5导致IIS报错 未能从程序集“System.ServiceMode...
- ci框架源码解析
- HTML
- java中volatile关键字的含义
- Pro Git(中文版)
- 冒泡排序
- Android提高(19)——浅谈Android动画
- 导航右边按钮按钮(图片/文字)
- 关于jquery ajax 异步请求 中文乱码问题。
- 每天一点python ——python面向对象
- 教你查看电脑是否中病毒
- foxmail 企业邮箱密码修改
- 努力(一)
- SimpleDateFormat用法