排序算法

来源:互联网 发布:mysql级联删除sql语句 编辑:程序博客网 时间:2024/04/27 20:40

Bubble Sort(冒泡排序)

冒泡排序算法的运作如下:(从后往前)

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一个相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最户的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

JAVA

public class BubbleSort{    public void sort(int[] a){        int temp = 0;        for(int i = a.length-1;i>0;--i){            for(int j = 0; j<i;++j){                if(a[j+1]<a[j]){                    temp = a[j];                    a[j] = a[j+1];                    a[j+1] = temp;                }            }        }    }}

**Selection sort(选择排序)

每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在以排好虚的数列的后面,直到全部待排序元素排完。


JAVA

public static void SelectSort(int[] a){    int minIndex = 0;    int temp = 0;    if((a==null)||(a.length==0))*长度为0的数组int[] arr = new int [0],也称之为空数组,虽然arr长度为0,但是依然是一个对象。null数组,int[] arr = null;arr是一个数组类型的空引用。*    return;    for(int i = 0;i<a.length-1;i++){        minIndex = i;//无序区的最小数据数组下标        for(int = j = i+1;j<a.length;j++){            //在无序区中找到最小数据并保存其数组下标            if(a[j]<a[minIndex]){                minIndex = j;            }        }        if(minIndex != i){            //如果不是无序区的最小值位置不是默认的第一个数据,则交换之            temp = a [i];            a[i] = a[minIndex];            a[minIndex] = temp;        }    }}
0 0
原创粉丝点击