冒泡排序与选择排序
Posted 躲在灌木丛里写博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序与选择排序相关的知识,希望对你有一定的参考价值。
冒泡排序:
思路:
数组相邻两个元素相比较
总共进行ary.length-1次
每次比较减少一个元素
代码实现:
public void sortArray() {
int temp=0;
//当进行内层循环时,如果没有进行过一次调换位置说明已经排好序
//通过变量flag可以直接退出程序
boolean flag=false;
for (int j = ary.length-1; j>0 ; j--) {
for (int i = 0; i < j; i++) {
if (ary[i] > ary[i + 1]) {
flag=true;
temp = ary[i];
ary[i] = ary[i + 1];
ary[i + 1] = temp;
}
}
if (!flag) {
break;
}else {
flag=false;
}
}
选择排序:
思路:
1.找到数组中最小的一个与第一个交换
2.每次交换完减少一个元素
3.总共需要数组元素个数减一次
代码实现:
public void fastSort() {
//找出数组中的最小值
for (int j = 0; j < ary.length; j++) {
for (int i = j+1; i < ary.length; i++) {
if (ary[i] < ary[j]) {
int temp=ary[i];
ary[i]=ary[j];
ary[j] = temp;
}
}
}
}
以上是关于冒泡排序与选择排序的主要内容,如果未能解决你的问题,请参考以下文章