美文网首页
排序查找

排序查找

作者: 范小白Van | 来源:发表于2018-04-28 21:07 被阅读14次

冒泡排序法

class Bubble
{
    public void sort(int[] arr)
    {
        int temp=0;
        
        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])
                {
                    temp=arr[j+1];
                    arr[j+1]=arr[j];
                    arr[j]=temp;
                    
                    //another method
                    temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
    }
}

基本思想:

  1. 一个数组从头开始两两比较,大的数往前移动一个位置,这样一轮比较之后,数组的最后一个元素为该数组的最大值;
  2. 不考虑当前数组的最大值,将数组长度减一,再从头开始两两进行比较,循环之后得到数组中第二个最大的元素;
  3. 数组再减1,开始循环,得到第三个最大的元素。重复循环,最终得到一个从小到大排列的数组。

选择排序

class Select
{
    public void sort(int[] arr)
    {
        int temp=0;
        
        for(int i=0;i<arr.length-1;i++)
        {
            int minValue=arr[i];
            int minIndex=i;
            
            //find the index of the minimum value
            for(int j=i;j<arr.length;j++)
            {
                if(minValue>arr[j])
                {
                    minValue=arr[j];
                    minIndex=j;
                }
            }
            
            //put the minimum value into the arr[i]
            temp=arr[i];
            arr[i]=minValue;
            arr[minIndex]=temp;
        }
    }
}

基本思想:

  1. 将数组最前面的一个元素设为最小的元素;
  2. 不断和后面的元素比较,如果小于最小值,那么交换值和下标(取得最小值和下标);
  3. 将最小值放入最前面的元素,最终得到一个从小到大的数组。

相关文章

  • 18-04-27  python3 算法笔记 003查找与排序

    查找: 顺序查找 二分查找 hash查找 排序: 冒泡排序 选择排序 插入排序希尔排序 归并排序 快速...

  • 2.4.2 查找和排序

    排序 复习1:冒泡排序 复习2:快速排序 查找 1)顺序查找2)二分查找 3)哈希表查找4)二叉排序树查找

  • 面试知识点

    排序冒泡排序快速排序选择排序插入排序二路归并 查找二分查找 排序和查找的java实现 java语言Java字符串字...

  • 排序查找c++

    排序算法 选择排序 顺序查找 二分查找

  • 剑指Offer.C++.code6-10

    (1)排序和查找是面试考察算法的重点,如二分查找、归并排序、快速排序等;(2)查找:顺序查找、二分查找、哈希表查找...

  • Swift语言实现几个简单算法

    栈队列二分查找插入排序归并排序快速排序 栈 队列 二分查找 二分查找是用于快速查找到目标数据(已排序)的一种查找方...

  • 基本算法

    冒泡算法 选择排序 插入排序 顺序查找 二分查找

  • 理解6:Collections

    Collections 工具类常用方法: 排序 替换、查找 排序 示例 查找、替换 示例

  • 消息传递-缓存-转发流程

    消息传递 缓存查找 哈希查找 三种查找方式缓存 -> 哈希算法查找当前类 -> 已排序 二分查找算法 未排序 ...

  • 其难杂症

    排序 冒泡排序,快速排序 查找算法 二分查找算法 Array方法 push/unshift,pop/shift,m...

网友评论

      本文标题:排序查找

      本文链接:https://www.haomeiwen.com/subject/pnawlftx.html