【leetcode】2-冒泡排序
原创
©著作权归作者所有:来自51CTO博客作者落风__的原创作品,请联系作者获取转载授权,否则将追究法律责任
1.描述:
通过比较两个相邻元素的大小,进行位置的不断交换,到换无可换,即将最小或最大的数通过比较浮到数列的顶端,故称为冒泡
2.代码实现:
package $2冒泡排序;
import java.util.Arrays;
/**
* 交换元素,逐渐上浮
*/
public class MaoPaoTest {
public static void main(String[] args) {
int[] x = new int[]{12, 3, 4, 555, 2,3,3,2,1,33,333};
int[] asc = asc(x);
System.err.println(Arrays.toString(asc));
int[] desc = desc(x);
System.err.println(Arrays.toString(desc));
}
/**
* 升序
*
* @param x
* @return
*/
public static int[] asc(int[] x) {
int temp = 0;//临时交换元素
//第一个元素
for (int i = 0; i < x.length; i++) {
//第一个元素后的所有元素
for (int j = i + 1; j < x.length; j++) {
//拿当前元素,与其之后的所有元素作比较,如果当前元素比较大,则交换位置
if (x[i] > x[j]) {
//交换位置
temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
}
return x;
}
/**
* 降序
*
* @param x
* @return
*/
public static int[] desc(int[] x) {
int temp = 0;//临时交换元素
//第一个元素
for (int i = 0; i < x.length; i++) {
//第一个元素后的所有元素
for (int j = i + 1; j < x.length; j++) {
//拿当前元素,与其之后的所有元素作比较,如果当前元素比较大,则交换位置
if (x[i] < x[j]) {
//交换位置
temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
}
return x;
}
}