C#冒泡排序

C#冒泡排序,第1张

C#冒泡排序

冒泡排序 

生活中的排队场景,冒泡排序核心是两两相邻进行比较。

一旦条件符合,就交换位置。

如果不符合,继续下一个两两相邻比邻,经过第一轮之后,整除团队中最高的那个人就找到了

10    -1     -2    -10   按小到大

第一轮:最大的那个数被冒到最后
         
     1) 10 与 -1 进行比较,交换 ,就成  -1    10    -2    -10  

     2) 10 与 -2  进行比较,交换,变成:-1     -2    10    -10  

     3)  10 与 -10 进行比较,交换,变成:-1    -2    -10      10 

第一轮过去:最大的10就目前排在最后

第二轮:剩下的这三个人进行排列,倒数第二个高的人   -1   -2   -10   

    1) -1 与 -2 比较, 交换 ,变成: -2    -1   -10 
    2)    -1  与 -10 比较, 交换 ,变成    -2   -10    -1    10

第三轮:剩下的两个数比较,找到倒数第三个高的人
          
     1)    -2   - 10  交换,变成: -10     -2   -1     10   完成排序

  ***4个数比较,需要比较3轮,每一轮比较次数不确定 


  冒泡排序的结构:

  外层循环控制比较多少轮  
  for(   int  i = 0 ; i < 数组名.Length-1 ; i++ )
  {
      //内层for循环控制的是每一轮比较的次数
     for ( int j = 0 ; j < 数组名.Length-1 ; j++ )
    {
         if (  n[j] > n[ j+1 ]  )
         {                       
            int temp =  n [j];    //将n[j]的值赋值给temp
            n[j] = n[j+1];         //为 n[j] 重新赋值
            n[i+1] = temp;     //为 n[i+1] 赋值
          } 
     }

}

VS中的程序:

namespace MaoPaopaixu           冒泡排序
{
    public class MaoPaopaixu
    {
        //冒泡排序  
        public static void Main(string[] args)
        {
            int[] numbers = new int[8];//定义数组
            Random r = new Random();//定义随机数
            for (int i = 0; i < numbers.Length; i++)
            {
                numbers[i] = r.Next(0, 100);//随机来几个数
            }
            foreach (int i in numbers)
            {
                Console.WriteLine(i);//遍历
            }
            for (int i = 0; i < numbers.Length - 1; i++)
            {//冒泡排序
                for (int j = 0; j < numbers.Length - 1; j++)
                {
                    if (numbers[j]>numbers[j+1])//判断两数据大小
                    {
                        int temp = numbers[j];//numbersj给第三个变量
                        numbers[j] = numbers[j+1];//后面小的数给前面
                        numbers[j+1] = temp;//temp的值给numberj+1
                    }
                }
            }
            //冒泡之后的结果
            Console.WriteLine("冒泡后的结果");
            foreach(int item in numbers)
            {
                Console.WriteLine(item);
            }
        }
    }
}

据说这是数据结构的内容,之前上课可能都学过,但是当时在摸鱼,现在没什么印象,惭愧啊~

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5671992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存