zoukankan      html  css  js  c++  java
  • 排序的一些东西

    内部排序(所有数据加载到内存中):交换式排序:冒泡和快速。冒泡如下:

    for(int i = 0;i<arr.length-1;i++)

    {  for(int j = 0;j<arr.length-1-i;j++)

      {

         if(arr[j]>arr[j+1])

         int temp = arr[j];

         arr[j]=arr[j+1];

         arr[j]=temp;

      }

    }//把大的往后走

    选择排序:从欲排序的数据中,按某一原则,选出一元素,和其他元素按规则进行交换,从而达到排序目的.如下:

    for(int i=0;i<arr.length-1;i++)

    {

      min=arr[i];

      minIndex=i;

      for(int j=i+1;j<arr.length;j++)

        {

          if(min<arr[j])

            min=arr[j];

            minIndex=j;

        }

      int temp=arr[i];

      arr[i]=arr[minIndex];

      arr[minIndex]=temp;

    }

    插入式排序:插入排序、谢尔排序、二叉树排序。

    插入排序:一开始分为有序表和无序表,一开始有序表只有一个数吗,无序表有n-1个数。用无序表的数依次和有序表比较,并进行插入。

    如下:

    for(int i = 1;i<arr.length;i++)

    {

      int insertVal= arr[i];

      int index = i-1;

      while(index>=0&&insertVal<arr[index])

        {

          arr[index+1]=arr[index];

          index--;

        }

        arr[index+1]=insertVal;

    }

  • 相关阅读:
    Mysql中limit的用法详解
    EXCEPTION与ERROR的区别
    调用sed命令的三种方式
    学编程一定要上大学?美国一半码农都没有计算机学位
    awk 循环语句例子
    Ubuntu 16.04 LTS今日发布
    Ubuntu启动eclipse问题
    Vim技能修炼教程(6)
    Vim技能修炼教程(7)
    Vim技能修炼教程(5)
  • 原文地址:https://www.cnblogs.com/kanego/p/1990522.html
Copyright © 2011-2022 走看看