1. 主页
  2. 文档
  3. 数组的处理算法
  4. 冒泡排序

冒泡排序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test04
{
    class Program
    {
        //冒泡排序
        static void Main(string[] args)
        {
            int[] arr = new int[] { 63, 4, 24, 1, 3, 15 };		// 6 5 定义一个一维数组,并赋值
          
            //
            //定义两个int类型的变量,分别用来表示数组下标和存储新的数组元素

            int j, temp;
            for (int i = 0; i < arr.Length - 1; i++)				//根据数组下标的值遍历数组元素
            {
                //j +1  数组后边
                j = i + 1;

            //标识符
            id:                                     //定义一个标识,以便从这里开始执行语句
                //Console.WriteLine(arr[j]);
               

                //判断 前后  0 > 1
                //如果 前边大于后边,则后边的向前。  0 1 2 3 4    1 2 3 4 5
                if (arr[i] > arr[j])			    //判断前后两个数的大小
                {
                    //如果成立,  则放到 临时变量中。
                    temp = arr[i];					//将比较后大的元素赋值给定义的int变量
                    arr[i] = arr[j];				//将后一个元素的值赋值给前一个元素
                    arr[j] = temp;					//将int变量中存储的元素值赋值给后一个元素

                    //Console.WriteLine(arr[j] + "===" + arr[i] + "===\n" + "结束" + i + "论");

                    //比较完一轮以后,再返回 id:  再比较第二轮
                    goto id;						//返回标识,继续判断后面的元素

                   
                }
                else
                {   //否则, 第1个小于第2个的话。 1 2 3 4 5 
                    //Console.WriteLine(arr[j] + "===\n");
                    //Console.WriteLine(j);
                    
                    if (j < arr.Length - 1)         //判断是否执行到最后一个元素
                    {
                        j++;                            //如果没有,则再往后判断
                        goto id;                        //返回标识,继续判断后面的元素
                    }
                }
            }


            foreach (int n in arr)				   //循环遍历排序后的数组元素并输出
                Console.Write(n + " ");

            Console.WriteLine();
            Console.ReadLine();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test04
{
    class Program
    {
        //冒泡排序
        static void Main(string[] args)
        {
            int[] arr = new int[] { 63, 4, 24, 1, 3, 15 };		// 6 5 定义一个一维数组,并赋值
          
            //
            //定义两个int类型的变量,分别用来表示数组下标和存储新的数组元素

            int j, temp;
            for (int i = 0; i < arr.Length - 1; i++)				//根据数组下标的值遍历数组元素
            {
                //j +1  数组后边
                j = i + 1;

            //标识符
            id:                                     //定义一个标识,以便从这里开始执行语句

                //判断 前后  0 > 1
                //如果 前边大于后边,则后边的向前。  0 1 2 3 4    1 2 3 4 5
                if (arr[i] > arr[j])			    //判断前后两个数的大小
                {
                    //如果成立,  则放到 临时变量中。
                    temp = arr[i];					//将比较后大的元素赋值给定义的int变量
                    arr[i] = arr[j];				//将后一个元素的值赋值给前一个元素
                    arr[j] = temp;					//将int变量中存储的元素值赋值给后一个元素

                    //Console.WriteLine(arr[j] + "===" + arr[i] + "===\n" + "结束" + i + "论");

                    //比较完一轮以后,再返回 id:  再比较第二轮
                    goto id;						//返回标识,继续判断后面的元素
                }
                else
                {   //否则, 第1个小于第2个的话。 1 2 3 4 5 
                    //Console.WriteLine(arr[j] + "===\n");
                    Console.WriteLine(j);
                    
                    if (j < arr.Length - 1)         //判断是否执行到最后一个元素
                    {
                        j++;                            //如果没有,则再往后判断
                        goto id;                        //返回标识,继续判断后面的元素
                    }
                }
            }


            foreach (int n in arr)				   //循环遍历排序后的数组元素并输出
                Console.Write(n + " ");

            Console.WriteLine();
            Console.ReadLine();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using static System.Net.Mime.MediaTypeNames;

namespace Test04
{
    class Program
    {
        //冒泡排序
        static void Main(string[] args)
        {
            int[] arr = new int[] { 63, 4, 24, 1, 3, 15 };		// 6 5 定义一个一维数组,并赋值
          
            //
            //定义两个int类型的变量,分别用来表示数组下标和存储新的数组元素
            for (int i = 0; i < arr.Length; i++)
            {
                for (int j = 0; j<arr.Length-1; j++) {
                    if (arr[j] > arr[j + 1])
                    {
                        int t = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = t;
                    }
                }
            }
            

            foreach (int n in arr)				   //循环遍历排序后的数组元素并输出
                Console.Write(n + " ");

            Console.WriteLine();
            Console.ReadLine();
        }
    }
}
这篇文章对您有用吗?

我们要如何帮助您?