• C# 排序小测试


    代码
                int[] source = new int[] { 1343453 };
                printInt(source);
                
    //从小到大排序
                /*   //选择
                for (int i = 0; i < source.Length; i++)
                {
                    for (int j = i + 1; j < source.Length; j++)
                    {
                        //前面的比后面的大,则调换位置
                        if (source[i] > source[j])
                        {
                            int temp = source[i];
                            source[i] = source[j];
                            source[j] = temp;
                        }
                    }
                }
    */
                
    /*  //冒泡
                int j = 1;
                bool done = false;
                while(j<source.Length && !done)
                {
                    done = true;
                    for (int i = 0; i < source.Length-1; i++)
                    {    
                        //[相邻的俩比较]前面的比后面的大,则调换前后位置
                        if (source[i] > source[i+1])
                        {
                            done =false;
                            int temp = source[i];
                            source[i] = source[i+1];
                            source[i+1] = temp;
                        }                 
                    }
                    j++;
                }
    */
                
    //插入法排序
                for (int i = 1; i < source.Length ; i++)
                {
                    
    int temp = source[i];
                    
    int j = i;
                    
    while (j>0 && source[j-1]>temp)
                    {
                        source[j] 
    = source[j - 1];
                        j
    --;
                    }
                    source[j] 
    = temp;
                }

    测试下排序.

    1。数组定义,并初始化int[] source = new int[] { 1, 34, 3, 45, 3 };

    2。打印数组,用for循环打印

    3。排序思想[以从小到大为例]

    (1)i=0;i<长度;i++ ; { j =i+1;j<长度;j++ .拿第i个与第i之后的所有(j)依次比较,若i处大于后者,则调换位置----一轮下来,i处放的是未排序的数值中最小的.--称选择排序

    (2)j=1;flag=fasle while(j<长度且flag为false){for(i=1;i<长度-1;i++) 哪相邻的俩(i与i+1)比较,小的放前面----一轮下来,最大的被放到了最后.---称为冒泡排序

    (3)i=1;i<长度,i+{记下i处值,j=i while(i之前(j处)若有比i处大的,则让i处值等于较大的 ) j处等于i处值原始值----一轮下来,i处是已排序的i个值中最大的--称插入排序

  • 相关阅读:
    ansible管理windows实践
    SQL server 备份/恢复/压缩 进度查询
    什么是容器
    pycharm 快捷键
    SUSE Linux--zypper程序包管理(实战命令总结)
    源码编译安装
    CentOS-yum基本使用
    rpm管理
    btrfs的精简总结版
    btrfs的介绍与使用
  • 原文地址:https://www.cnblogs.com/9421/p/1779528.html
Copyright © 2020-2023  润新知