Java常用几种排序算法

来源:互联网 发布:网络克隆交换机 编辑:程序博客网 时间:2024/06/03 13:51
1.冒泡排序public class BubbleSort{    public static void main(String[] args){        int[] nums = {34,4,56,17,90,65};        for(int i=0;i<nums.length-1;i++){            for(int j=0;j<nums.length-1-i;j++){                if(nums[j]<nums[j+1]){                    nums[j] = nums[j]+nums[j+1];                    nums[j+1] = nums[j]-nums[j+1];                    nums[j] = nums[j]-nums[j+1];                }            }        }        for(int n:nums){            System.out.println(n);        }    }}2.选择排序public class SelectionSort{    public static void main(String[] args){        int[] nums = {34,4,56,17,90,65};        int minIndex = 0;         for(int i=0;i<nums.length-1;i++){             minIndex = i;             for(int j=i+1;j<nums.length;j++){                if(nums[minIndex]>nums[j]){                     minIndex = j;                 }            }            if(minIndex!=i){                 nums[minIndex] = nums[minIndex]+nums[i];                nums[i] = nums[minIndex]-nums[i];                nums[minIndex] = nums[minIndex]-nums[i];            }        }        for(int n:nums){             System.out.println(n);        }    }}3.直接插入排序法public class straightInsertionSort{    public static void main(String[] args){    int[] nums = {34,4,56,17,90,65};    for(int i=1;i<nums.length;i++){         int temp = nums[i];         int j = 0;         for(j=i-1;j>=0;j--){            if(nums[j]>temp){                nums[j+1] = nums[j];             }else{                break;             }        }        if(nums[j+1]!=temp){             nums[j+1] = temp;         }    }    for(int n:nums){        System.out.println(n);    }    }}
原创粉丝点击