算法专题----程序员必须知道的8大排序和3大查找

本文详细介绍了八大排序算法:冒泡排序、选择排序、直接插入排序,以及三大查找算法。每种排序算法都有其独特的工作原理和应用场景。冒泡排序通过相邻元素比较交换,选择排序则在每轮中选取最小值放至末尾,直接插入排序则是将新元素插入到已排序序列中。文章还讨论了这些排序算法的时间复杂度和稳定性,例如冒泡排序和插入排序是稳定的,而选择排序和快速排序则不是。对于查找算法,文章虽未具体展开,但它们是数据处理的关键组成部分,对提升程序效率至关重要。
摘要由CSDN通过智能技术生成

一、冒泡排序

基本思路:

冒泡排序是一种简单的交换类排序。其基本思路是,从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移。每经过一趟排序后,关键字值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置为止,直到所有元素都已有序排列。

一般地,对n个元素进行冒泡排序,总共需要进行n-1趟。第1趟需要比较n-1次,第2趟需要比较n-2次,......第i趟需要比较n-i次。

算法程序实现

public class BubbleSort{
 public static void main(String args[]){
    int[] values={3,1,6,2,9,0,7,4,5};
    sort(values);//调用下面封装好的sort方法,并把参数传递给sort方法,因为sort方法需要传递进来参数
    for(int i=0;i<values.length;i++){ //排序后打印数组中的元素
      System.out.println("Index: "+i+"  value: "+values[i]);
    }
  }
  public static void sort(int[] values){
    int temp;
    for(int i=0;i<values.length;i++){ //趟数
      for(int j=0;j<values.length-i-1;j++){ //比较次数
        if(values[j]>values[j+1]){
          temp=values[j];
          values[j]=values[j+1];
          values[j+1]=temp;
        }
      }
    }
  }
}

运行结果如下:

二、选择排序

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下:首先在未排序序列中找到最大(小)元素,存放到该待排序序列的最后(起始)位置,然后,再从剩余未排序元素中继续寻找最大(小)元素,然后放到已排序序列的前面(末尾)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值