冒泡排序
选择排序
插入排序
归并排序:运用递归
归并排序一个数组(a){
把a分为左右两个数组left,right
left = 归并排序一个数组(left)
right = 归并排序一个数组(right)
return a = 合并数组升序(left,right)
}
合并数组升序(int[] left,int[] right){
inti=0,l=0,r=0;
while(l<left.length&&r<right.length){
if(left[l]<right[r]){
result[i]=left[l];
i++;
l++;
}else{
result[i]=right[r];
i++;
r++;
}
}
while(r<right.length){//如果右边剩下合并右边的
result[i]=right[r];
r++;
i++;
}
while(l<left.length){
result[i]=left[l];
l++;
i++;
}
}
快速排序:一般以第一个为轴心节点,将小于这个节点的排在前面,大于这个节点的排在后面。这样分为两部分,在递归的对前一部分进行快速排序,对后一部分进行快速排序。递归的进行,直到结束。
随机快速排序
计数排序:如果是位数比较小的整数,
可以统计出现概率然后根据概率重新组合成所需的顺序序列。
基数排序:如果是整数,可以准备0-9 的桶子,
首先以个位将数分配到不同的桶子里,然后从0号桶开始拿出数,
然后从0号桶开始拿出数,重新组成数列。
.....直到最高位排序完成,整个数列也就排序完成了。
排序(学习记录)
最新推荐文章于 2024-05-16 21:05:21 发布