zoukankan      html  css  js  c++  java
  • 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个值中最大的--称插入排序

  • 相关阅读:
    无法删除文件提示找不到指定文件导致文件无法删除的解决方法
    c++多线程编程(三)
    c++多线程编程(二)
    c++多线程编程(一)
    面试中的C++常见问题
    展示组件(Presentational component)和容器组件(Container component)之间有何不同
    如果你创建了类似于下面的 Twitter 元素,那么它相关的类定义是啥样子的?
    React 中 refs 的作用是什么?
    typescript 类(类的定义、继承、修饰符、抽象类)
    typescript 接口 interface
  • 原文地址:https://www.cnblogs.com/9421/p/1779528.html
Copyright © 2011-2022 走看看