标签:冒泡排序 插入排序 有序 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