选择排序的学习

来源:互联网 发布:apk 反编译 源码 编辑:程序博客网 时间:2024/06/05 04:30

               

        

                       使用选择排序实现数组int []= arr{34,19,11,109,3,56}实现数组从小到大排序。

                首先,要确定每一个数组角标下的数,也就是通过每个角标与它之后的角标进行一一进行比较,如果后面的   角标比要确定位置的角标小,就交换位置。

所以,我们可以通过for循环来确定要确定角标的个数,for(int x=0;x<arr.length;x++){

                                                                                        },其实确定到倒数第二个数的时候就已经排序好了,因为最后一个数不可能跟最后一个数进行比较。所以外循环就可以for(int x=0;x<arr.length-1;x++){

                                                                                        }

,而对于这要确定的这几个角标,它们角标的确定,必须要与它之后的角标所对应的数一一进行比较然后换位置,所以这个时候也需要再嵌套一个for循环来遍历所需确定角标之后的数,

                                                                                     for(int x=0;x<arr,length-1;x++){

                                                                                              for(int y=x+1;y<arr,length;y++){

                                                                                  


                                                                                           }  

                                                                                       },接下来就是通过一个if语句实现在里边进行比较换位置。

 }  


                                                                                     for(int x=0;x<arr,length-1;x++){

                                                                                              for(int y=x+1;y<arr,length;y++){

                                                                                                        if(arr[x]>arr[y]){

                                                                                                                    int temp=arr[x];

                                                                                                                    arr[y]=arr[x];

                                                                                                                   arr[y]=temp;

                                                                                                            }

                                                                                            }


                                                                                       },到这里就实现了选择排序排序功能。最后,在通过一个for循环来遍历输出整个数组就好了。


                            最后在来个完整一点的写法:

                class selectArr{

                         public static void main(String[] args)

                         {

                                  int [] arr=arr{34,19,11,109,3,56};

                                 selectSort(int[] arr);

                                for(int x=0;x<arr.length;x++)

                                {

                                   System.out.print( arr[x] )

                                 }

                       public static void   selectSort(int [] arr){

                                  

                                          for(int x=0;x<arr,length-1;x++){

                                              for(int y=x+1;y<arr,length;y++){

                                                                  if(arr[x]>arr[y]){

                                                                     int temp=arr[x];

                                                                       arr[y]=arr[x];

                                                                     arr[y]=temp;

                                                   }

                                              }

                                        }


                 }


        }







0 0
原创粉丝点击