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

三种简单的排序

时间:2021-06-25 16:58:16      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:冒泡排序   插入排序   有序   ret   情况   static   数据   ||   node   

 

 //冒泡排序,思想就是每个数据与下一个数据一个个对比下去

public static void sort(int[] nums){
if(nums==null||nums.length==0){
return;
}
for(int i =0;i<nums.length;i++){
for(int j=1;j<nums.length-i;j++){
if(nums[j]<nums[j-1]){
int temp = nums[j-1];
nums[j-1]=nums[j];
nums[j]=temp;
}
}
}
}
//插入排序 思想就是和前面的数据一个个比下去,因为前面已经是有序的了,所以只要比较到比自己小的位置插入就好
public static void insertSort(int[] nums){
if(nums==null||nums.length==0){
return;
}
int insertNode;
int j;
for(int i=1;i<nums.length;i++){
j = i-1;
insertNode = nums[i];
while (j>=0&&insertNode<nums[j]){
nums[j+1] = nums[j];
j--;
}
nums[j+1] = insertNode;
}
}
//选择排序 思想就是每次寻找到最小的那个值,进行替换就可以了,替换的次数比冒泡小,就是把最小的往前扔
public static void selectSort(int[] nums){
if(nums==null||nums.length==0){
return;
}
for(int i=0;i<nums.length;i++){
int pos = i;
for(int j=i+1;j<nums.length;j++){
if(nums[pos]>nums[j]){
pos=j;
}
}
if(pos!=i){
int temp = nums[i];
nums[i] = nums[pos];
nums[pos] = temp;
}
}
}

补充:三种排序 因为插入排序不用每次都扫描整个链路,所在不在绝对的情况下,性能最优,冒泡最次,选择居中

三种简单的排序

标签:冒泡排序   插入排序   有序   ret   情况   static   数据   ||   node   

原文地址:https://www.cnblogs.com/xianyi/p/14929174.html

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