三种排序算法

来源:互联网 发布:淘宝如何找货源 编辑:程序博客网 时间:2024/06/09 16:04

题目:三种排序算法

      1. 冒泡排序法   2.选择排序法   3.   插入排序法


       由小到大的顺序
备注:网上笔试题,代码是参考网上别人的,具体出处找不到了,请谅解。摘抄记录下来方便日后学习。如果有问题尽请批评指正,希望可以和大神一起交流。
       冒泡排序的最好的时间复杂度为O(n),最坏的时间为O(n^2),算法的平均时间复杂度为O(n^2)。
      选择排序法,寻找一组数据的最小值,将其取出放到初始位置,然后再继续寻找,算法的平均时间复杂度为O(n^2)。
     插入排序算法的平均时间复杂度为O(n^2)。

public class BubbleSort {//选择排序public static void SelectSort(int[] arr) {int temp;for (int i = 0; i < arr.length; i++) {for (int j = i+1; j < arr.length; j++) {if (arr[i]>arr[j]) {temp=arr[i];arr[i]=arr[j];arr[j]=temp;}}}}//冒泡排序public static void BubbleSort(int[] arr){int temp;for (int i = 0; i < arr.length-1; i++) {for (int j = 0; j < arr.length-i-1; j++) {if (arr[j+1]<arr[j]) {temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}//插入排序public static void InsertSort(int[] arr){int temp;for (int i = 1; i < arr.length; i++) {for (int j = i; (j>0) &&  (arr[j]<arr[j-1]); j--) {temp=arr[j];arr[j]=arr[j-1];arr[j-1]=temp;}}}     public static void main(String[] args) {int arr[]=new int[] {1,5,3,4,6,8,2,7};//1.冒泡排序//BubbleSort.BubbleSort(arr);//2.选择排序//BubbleSort.SelectSort(arr);//3.插入排序BubbleSort.InsertSort(arr);for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}}     }



原创粉丝点击