您的位置:首页 > 其它

总结几种排序算法

2017-07-10 17:38 141 查看
冒泡排序:相邻元素两两比较,大的往后放,第一次完毕后,最大值出现在最后一个索引处。每次都少一个元素(减少的上次比较结果的最后一个元素),这样,最后即可得到一个排好序的数组。

for (int i = 0; i < arr.length - 1; i++) {

   
   
    for (int j =
0; j < arr.length - 1 - i; j++) {

   
   
   
    if (arr[j]
> arr[j + 1]) {

   
   
   
   
    int temp =
arr[j];

   
   
   
   
    arr[j] =
arr[j + 1];

   
   
   
   
    arr[j + 1] =
temp;

   
   
   
    }

   
   
    }

   
    }

选择排序:从0开始索引,依次和后面的元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处。每次都少一个元素(减少的是上次比较结果的第一个元素),这样,最后即可得到一个拍好序的数组。

for (int i = 0; i < arr.length - 1; 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;

   
   
   
    }

   
   
    }

   
    }

注:方法是快速排序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: