冒泡排序
来源:互联网 发布:ubuntu ftp 上传权限 编辑:程序博客网 时间:2024/06/16 08:44
冒泡排序:
相邻的俩个值相比,小的那个放在前面
public static void main(String[] args) throws Exception {
// 需要排序的数组,目前是按照升序排列的
int a[] = new int[5];
a[0] = 3;
a[1] = 4;
a[2] = 1;
a[3] = 5;
a[4] = 2;
// 冒泡排序
for (int i = 0; i < a.length - 1; i++) {
for (int j = 0; j < a.length - 1; j++) {
// 判断相邻的两个元素是否逆序
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}// 检测一下排序的结果
for (int i : a) {
System.out.println("i=" + i);
}
}
选择排序:
每次找出最小的那个值放在前面
public static void main(String[] args) throws Exception {
// 需要排序的数组,目前是按照升序排列的
int a[] = new int[5];
a[0] = 3;
a[1] = 4;
a[2] = 1;
a[3] = 5;
a[4] = 2;
// 选择法排序
int temp;
for (int i = 0; i < a.length; i++) {
int lowIndex = i;
// 找出最小的一个的索引
for (int j = i + 1; j < a.length; j++) {
if (a[j] < a[lowIndex]) {
lowIndex = j;
}
}
// 交换
temp = a[i];
a[i] = a[lowIndex];
a[lowIndex] = temp;
}
// 检测一下排序的结果
for (int i : a) {
System.out.println("i=" + i);
}
}
插入排序:
每拿到一个元素,都与在它之前的元素遍历比较一遍,把它放在比他大的那个前面
public static void main(String[] args) throws Exception {
// 需要排序的数组,目前是按照升序排列的
int a[] = new int[5];
a[0] = 3;
a[1] = 4;
a[2] = 1;
a[3] = 5;
a[4] = 2;
// 插入法排序
int temp;
for (int i = 1; i < a.length; i++) {
// i=1 开始,因为第一个元素认为 是已经排好序了的
for (int j = i; (j > 0) && (a[j] < a[j - 1]); j--) {
// 交换
temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
}
}
// 检测一下排序的结果
for (int i : a) {
System.out.println("i=" + i);
}
}
阅读全文
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 【OVS2.5源码解读】datapath主流程分析
- 蓝桥杯 最短路 spfa
- http和https的区别:
- uva10422
- 360开源的插件化框架Replugin深度剖析
- 冒泡排序
- 【Shiro权限管理】14.Shiro授权
- python常用命令
- vue结合Element搭建项目
- AndroidStudio升级3.0之后无法创建新的工程项目
- 《SLA by Short brain》—学好英语口语的终极法宝!
- LM567鉴频电路设计
- 会场安排问题
- MAC使用VMware Fusion为centos设置静态IP