zoukankan      html  css  js  c++  java
  • C#之冒泡排序

    以前在学校的时候看过冒泡排序,看的时候挺明白的,但是自己写的时候就写不出来

    冒泡排序从字面意思理解:应该是这样的,按照顺序从最下面一个(数组索引最大)上升到第一个:

    所以代码是这样的:

      //冒泡排序
            public void BubbleSort(double[] data)
            {
                for (int i = 0; i < data.Length - 1; i++)
                {
                    for (int j = data.Length - 1; j >i; j--)
                    {
                        if (data[j] > data[j - 1])
                        {
                            data[j] = data[j] + data[j - 1];
                            data[j - 1] = data[j] - data[j - 1];
                            data[j] = data[j] - data[j - 1];
                        }
                    }
                }
            }

    当然如果你喜欢最下底下的元素对应最小索引,那么代码是这样的:

     //冒泡排序
            public void BubbleSort(double[] data)
            {
                for (int i = 0; i < data.Length-1; i++)
                {
                    for (int j = 0; j < data.Length-1-i; j++)
                    {
                        if(data[j]>data[j+1])
                        {
                            data[j] = data[j] + data[j + 1];
                            data[j + 1] = data[j] - data[j + 1];
                            data[j] = data[j] - data[j + 1];
                        }
                    }
                }
            }

    这样也可以实现

    public void PopSort(int[] list)
        {
          int i, j, temp;  //先定义一下要用的变量
          for (i = 0; i < list.Length - 1; i++)
          {
            for (j = i + 1; j < list.Length; j++)
            {
              if (list[i] > list[j]) //如果第二个小于第一个数
              {
                //交换两个数的位置,在这里你也可以单独写一个交换方法,在此调用就行了
                temp = list[i]; //把大的数放在一个临时存储位置
                list[i] = list[j]; //然后把小的数赋给前一个,保证每趟排序前面的最小
                list[j] = temp; //然后把临时位置的那个大数赋给后一个
              }
            }
          }
        }
  • 相关阅读:
    html基本标签练习
    实践1-qq邮箱主页
    html加强
    Date日期操作
    日期类的加减及java中所以日期类的操作算法大全
    讲解java异常
    关于Java并发编程的总结和思考
    删除map、list集合元素总结
    Jedis使用总结【pipeline】【分布式的id生成器】【分布式锁【watch】【multi】】【redis分布式】
    Java中的时间日期处理
  • 原文地址:https://www.cnblogs.com/lfxiao/p/6742477.html
Copyright © 2011-2022 走看看