C#写的冒泡排序算法练习,把主要道理讲明了,【不足提醒,觉得好了赞】

 // 项目名:Test_Array
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

/* 测试冒泡排序算法,利用了数组组织数据,因为冒泡排序操作的就是数组。
 * 这个主要是练习了自己先前对冒泡排序的理解。事实是:我能独立自己的推导出来了,理解的还是不错的。
 * 冒泡排序算法是用2个for循环,遍历数组,对数组中的数字按大小关系排序的算法。这里用整型数组。
 */
namespace Test_Array 
{
    class Program
    {
        /* //就在入口点函数写
         * 
         */
        static void Main(string[] args) 
        {
            //定义数组 Test
            int[] Test = { 1,3,5,7,9,4,8,2,9,6}; //10个数字,大小顺序是错乱排着的。

            //输出排序前的数组元素
            Console.WriteLine("//输出排序前的数组元素");
            Console.WriteLine("Test 的各个项是:");
            foreach (int Item in Test) 
            {
                /* //Item 代表数组Test里的所有的元素。操作 Item就等于是操作数组的所有元素。
                 * foreach 循环中,是按着元素下标:0,1,2 ... 的顺序遍历数组的。
                 */
                Console.Write(Item + ", ");
            }
            Console.WriteLine(); //输出换行


            /* 

             * 开始排序
             * 这就是冒泡排序算法
             */
            for (int times = 0; times < Test.Length;times++ ) //进行 Test.Length 次的循环。times取意,仅表示次数。
            {
                //这只是判断并替换了一个元素,让这一轮替换中最小数字移到最后方。

                for (int j = 0; j < Test.Length - 1 - times; j++) 
                {
                    /* 
                     * 减一次的缘故是:当排序一次,就会少一个要排序的数字,即:内层for循环循环次数就要少一次。所以times的前头一定要是个“-”负号。
                     */
                    if (Test[j] < Test[j + 1]) //假设Test[0]是最小的,当遇到比它还小的数字时,就与之交换。
                    {
                        int temp; //实现交换
                        temp = Test[j];
                        Test[j] = Test[j + 1];
                        Test[j + 1] = temp;
                    }
                }
            }
           

            //输出排序后的数组元素
            Console.WriteLine("//输出排序后的数组元素");
            foreach (int Item in Test)
            {
                Console.Write(Item + ", "); //Write()函数括号中不可以为空。
            }
            Console.WriteLine(); //输出空行
        }
    }
}
<img src="https://img-blog.csdn.net/20150114172737294?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhlbmdoYW9xaWFuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="font-family: Arial, Helvetica, sans-serif;" alt="" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值