码迷,mamicode.com
首页 > 编程语言 > 详细

常见排序算法总结(java版)

时间:2017-09-17 15:00:10      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:selection   冒泡排序   位置   ons   system   com   最大   play   i++   

一、冒泡排序

1、原理:相邻元素两两比较,大的往后放。第一次完毕,最大值在最大索引处。

技术分享

2、代码:

技术分享
public static void bubbleSort(int[] arr) {
                    for(int x=0; x<arr.length-1; x++) {  //外层循环控制轮数 ,一共要比较(arr.length-1)轮
                        for(int y=0; y<arr.length-1-x; y++) {  //外层循环控制每一轮比较的次数,每一轮比较(arr.length-1-i)次
                            if(arr[y] > arr[y+1]) {      //如果前面的元素比后面的元素大,则交换位置
                                int temp = arr[y];
                                arr[y] = arr[y+1];
                                arr[y+1] = temp;
                            }
                        }
                    }
                }
View Code

 

二、选择排序

1、原理 :将0位置的元素依次和后面全部的元素比,比完后,0位置就是最小的元素,紧接着从1位置对后面的元素比,逐步得到从小到大的值。

技术分享

2、代码:

技术分享
public class SelectionSort {
    public static void main(String[] args) {
        int[] arr = {2, 5, 8, 3, 6};
        selectionSort(arr);
    }
    public static void selectionSort(int[] arr){
        for(int i=0;i<arr.length;i++){   //外层循环控制用哪个位置的数与后面的数比较
            for (int j=i+1;j<arr.length;j++){ // 内层循环控制这个数与后面的数需要比较多少次
                if(arr[i]>arr[j]) { // //这个条件保证从小到大排列,反之从大到小排列
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        
        for(int m=0;m<arr.length;m++){
            System.out.println(arr[m]);
        }

    }
}
View Code

 

常见排序算法总结(java版)

标签:selection   冒泡排序   位置   ons   system   com   最大   play   i++   

原文地址:http://www.cnblogs.com/hezhiyao/p/7535312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!