三种排序方法(冒泡、选择、插入)

it2022-05-05  74

//冒泡排序class Bubble{    int temp=0;    public void sort (int arr1[])    {        //控制外层循环        for(int i=0;i<arr1.length-1;i++)        {            //控制内层循环            for(int j=0;j<arr1.length-1-i;j++)            {                if(arr1[j]>arr1[j+1])                {                    //更换位置                    temp=arr1[j];                    arr1[j]=arr1[j+1];                    arr1[j+1]=temp;                }            }        }        //查看排序后的效果        for(int i=0;i<arr1.length-1;i++)        {            System.out.print(arr1[i]+" ");                    }        System.out.println("");                    }}//选择排序class Select{    int temp=0;            public void sort(int arr2[])    {        for(int i=0;i<arr2.length-1;i++)        {            int min=arr2[i];            int minIndex=i;            for(int j=i+1;j<arr2.length;j++)            {                if(min>arr2[j])                {                    //更换最小值和下标                    min=arr2[j];                    minIndex=j;                }            }            //更换了最小值和下标   之后     对调位置            temp=arr2[i];            arr2[i]=arr2[minIndex];            arr2[minIndex]=temp;                    }                //查看排序后的效果        for(int i=0;i<arr2.length-1;i++)        {            System.out.print(arr2[i]+" ");        }        System.out.println("");    }    }//插入排序法class Inserting{    public void insertValue(int arr3[])    {        for(int i=1;i<arr3.length;i++)        {            int insertValue=arr3[i];                        int index=i-1;            while(index>=0 && insertValue<arr3[index])            {                arr3[index+1]=arr3[index];                                index--;            }            arr3[index+1]=insertValue;        }        //查看排序后的效果        for(int i=0;i<arr3.length-1;i++)        {            System.out.print(arr3[i]+" ");        }    }}

转载于:https://www.cnblogs.com/dark-passion/p/4681522.html


最新回复(0)