冒泡排序

思路:

冒泡排序算法的运作如下:(从后往前)
  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

 

using System;
namespace BubbleSort
{
    class Program
    {
        static int[] num = new int[10];
        static void Main(string[] args)
        {
            InitData();
            Console.WriteLine("排序前:");
            foreach (int item in num)
            {
                Console.Write(item + " ");
            }
            num =Sort(num);
            Console.WriteLine("\n排序后:");
            foreach (int item in num)
            {
                Console.Write(item + " ");
            }
            Console.ReadKey();
        }
     //自动初始化数据
static void InitData() { for (int i = 0; i < num.Length; i++) { var Seed = Guid.NewGuid().GetHashCode(); //利用Guid的hash值生产不重复的随机数 var value = new Random(Seed);
num[i]
= value.Next(1, 100); } } static int[] Sort(int[] values) { for (int m=values.Length-1; m >=1; m--) //m记录需要循环次数 { for (int n = 0; n < m; n++) {
             //把最大数据放到最后
if(values[n]>values[m]) { int temp = values[n]; values[n] = values[m]; values[m] = temp; } } } return values; } } }

 

posted @ 2018-04-15 16:51  游戏鼻祖  阅读(116)  评论(0编辑  收藏  举报