排序算法分析

来源:互联网 发布:java switch case例句 编辑:程序博客网 时间:2024/06/10 16:31

本人水平很差,今天看到一个排序算法,忍不住把它记下来了,哎,计算机基础不好啊

算法分析,(1)sort方法是普通的冒泡排序,比较相邻两个元素,最好情况比较n-1次最差情况比较n(n-1)/2次,时间复杂度是O(n^2)

                    (2)insertsort方法是插入排序,找到某个元素插入的位置,同上,时间复杂度O(n^2)

package insert;public class Insert {    public static void main(String[] args){    int[] a = {44,13,25,14};    sort(a);    printarray(a);    insertsort(a);    printarray(a);    }    private static void printarray(int[] array){    for(int j=0;j<array.length;j++){    System.out.println(array[j]);    }    System.out.println("---------------------");    }private static int[] sort(int[] a) {for(int i=1;i<a.length;i++){int index = i;while(index>0 && a[index-1]>a[index]){int temp = a[index-1];a[index-1] = a[index];a[index] = temp;index--;}}return a;}public static int[] insertsort(int a[]){for(int i=1;i<a.length;i++){int index = i;int currentdata = a[i];while(index>0 && a[index-1]>currentdata){a[index] = a[index-1];index--;}a[index] = currentdata;}return a;}}


原创粉丝点击