八种排序算法(java实现)

  • 冒泡排序
    冒泡排序是一种简单的排序算法,一次比较两个数,重复遍历数据好多次.
    时间复杂度:O(n^2)

    八种排序算法(java实现)_第1张图片

算法实现:

public static void bubbleSort(int[] numbers){
//定义一个中间变量
int temp=0;
//记录输入数字的长度
int size=numbers.length;
//循环遍历每一个数字进行与相邻数字进行比较
for (int i = 0; i for (int j = 0; j if(numbers[j]>numbers[j+1]){
temp=numbers[j];
numbers[j]=numbers[j+1];
numbers[j+1]=temp;
}}}}

  • 选择排序
    在要排序的一组数中,选出最小的一个数与第一个位置的数交换;
    然后在剩下的数当中再找最小的与第二个位置的数交换,
    如此循环到倒数第二个数和最后一个数比较为止。

八种排序算法(java实现)_第2张图片
算法实现:
public static void Choose(int[] numbers){
//定义中间变量
int temp=0;
for (int i = 0; i < numbers.length; i++) {
int min=i;
for (int j = i; j < numbers.length; j++) {
if(numbers[j] min=j;
}}
temp=numbers[i];
numbers[i]=numbers[min];
numbers[min]=temp;
} } }

  • 快速排序

  • 插入排序
    基本思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到合适位置后),直到全部插入排序完为止。

    八种排序算法(java实现)_第3张图片

public static void insert(int[] numbers){
//定义中间变量
int temp=0;
int j=0;
for(int i = 0 ; i < numbers.length ; i++)
{
temp = numbers[i];
//假如temp比前面的值小,则将前面的值后移
for(j = i ; j > 0 && temp < numbers[j-1] ; j --)
{
numbers[j] = numbers[j-1];
}
numbers[j] = temp;
}
}

你可能感兴趣的:(知识点)