java 冒泡排序法、选择排序
2024-08-24 04:04:28
1、冒泡排序
/*
* 冒泡排序
* 外层控制循环多少趟,内层控制每一趟的循环次数
*/
public class Test08 {
public static void main(String[] args) {
int num[] = {1,9,2,8,4,7,6,5,3}; //定义一个需要排序的数组
System.out.println("排序前的数组为:");
for (int n:num) { //用增强for循环对数组进行排序
System.out.print(n+"");
}
for (int i = 1; i < num.length; i++) { //控制循环的趟数
for (int j = 1; j < num.length-1-i; j++) { //每趟循环的次数,数组长度减 i 是因为最后一个数已经比前面的数大,不需要再进行比较
if (num[j]>num[j+1]) { //当j>j+1时,将两个数交换,大的放后面,当遇到比这个还要大的,再交换,最后就一定是最大的数
int temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
}
}
}
System.out.println();
System.out.println("排序后的数组为:");
for (int n:num) {
System.out.print(n+"");
}
}
}
https://www.cnblogs.com/shen-hua/p/5422676.html
2、选择排序
/*
* 选择排序
*
*/
public class Test07 {
public static void main(String[] args) {
int[] array = {8,6,7,5,1,4,3,9,2};
System.out.println("排序前:");
for (int i : array) {
System.out.print(i+", ");
}
System.out.println();
System.out.println("排序后:");
for (int i = 0; i < array.length; i++) { //外层控制比较的第一个数,内层把包括第一个数之后的数都都遍历一遍
for (int j = i; j <array.length; j++) {
if (array[i]>array[j]) { //用第一个数与后面的数依次比较,如果后面有比第一个数还要小的数就与他进行交换
int teamp = array[i];
array[i] = array[j];
array[j] = teamp;
}
}
}
for (int i : array) {
System.out.print(i+", ");
}
}
}
最新文章
- swift 可选类型(optional)--- swift 入门
- 最实用的IT类网站及工具大集合
- mormot orm rest注意事项
- 趋势or过渡,量子点屏幕真的优于OLED?
- tomcat 解析(二)-消息处理过程
- LPC2478的外部中断使用
- C#的dapper使用
- Ext中setVersion和getVersion
- Linux装系统问题
- ZOJ 1940 Dungeon Master【三维BFS】
- 【容斥+组合数】Massage @2018acm徐州邀请赛 E
- DevOps:软件架构师行动指南(文摘)
- VMware的存储野心(上):软件定义、分布式DAS支持
- SGU 131. Hardwood floor 状压dp 难度:2
- HDU4578 线段树(区间更新 + 多种操作)
- Java实现的词频统计
- Linux登录欢迎图案
- GOF23设计模式之组合模式(composite)
- ubuntu下永久修改DNS
- 获取服务器classes根路径