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+", ");
}
}
}

最新文章

  1. swift 可选类型(optional)--- swift 入门
  2. 最实用的IT类网站及工具大集合
  3. mormot orm rest注意事项
  4. 趋势or过渡,量子点屏幕真的优于OLED?
  5. tomcat 解析(二)-消息处理过程
  6. LPC2478的外部中断使用
  7. C#的dapper使用
  8. Ext中setVersion和getVersion
  9. Linux装系统问题
  10. ZOJ 1940 Dungeon Master【三维BFS】
  11. 【容斥+组合数】Massage @2018acm徐州邀请赛 E
  12. DevOps:软件架构师行动指南(文摘)
  13. VMware的存储野心(上):软件定义、分布式DAS支持
  14. SGU 131. Hardwood floor 状压dp 难度:2
  15. HDU4578 线段树(区间更新 + 多种操作)
  16. Java实现的词频统计
  17. Linux登录欢迎图案
  18. GOF23设计模式之组合模式(composite)
  19. ubuntu下永久修改DNS
  20. 获取服务器classes根路径

热门文章

  1. CSS margin属性
  2. 剑指offer——50最长不含重复字符和子字符串
  3. python获取全部股票每日基本面指标,用于选股分析、报表展示等
  4. Couleur(启发式 + 主席树)(终于补坑了)
  5. uname - 显示输出系统信息
  6. Java—Map浅入
  7. 记录一次工作中jvm被linux杀死的调查
  8. 深入研究js中的位运算及用法
  9. Struts2.xml的配置
  10. mfc中的_T