java中冒泡排序与选择排序的简单实现方法

冒泡排序

它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

创建数组
首先定义一个数组int[] array={9,8,7,6,5};
我们接下来要实现升序.
for(int i=0;i<array.length-1;i++){
for(int k=0;k<array.length-(i+1);k++){
if(array[k]>array[k+1]){
int temp=array[k];
array[k]=array[k+1];
array[k+1]=temp;
}
}
}
最后我们输出函数,得到结果56789

原理:

当i=0时:
98765
89765
87965
87695
87659

当i=1时 这时最后一位的9已经交换完成,我们只需交换前4位
87659
78659
76859
76589

当i=2时
76589
67589
65789

当i=3时
65789
56789

通过上述交换过程我们可以得到结果

选择排序

第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。

创建数组
首先我们创建一个int[] array={9,8,7,6,5};
接下来我们要实现升序
for(int i=0;i<array.length-1;i++){
for(int k=i+1;k<array.length;k++){
if(array[i]>array[k]){
int temp=array[k];
array[k]=array[i];
array[i]=temp;
}
}
}
最后我们得到结果56789

原理

当i=0时
98765
89765
79865
69875
59876

当i=1时 这时第一位已经交换完成,我们只需交换后4位
59876
58976
57986
56987

当i=2时
56987
56897
56798

当i=3时
56798
56789

通过上述交换我们可以得到结果

发布了8 篇原创文章 · 获赞 3 · 访问量 2736

猜你喜欢

转载自blog.csdn.net/weixin_46067435/article/details/104131108
今日推荐