• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
在北京的四川小伙
一切不以结婚为目的的恋爱,都是耍流氓 -----爱因斯坦●涛
博客园    首页    新随笔    联系   管理    订阅  订阅

三种排序方法:选择排序,插入排序,冒泡排序

三种排序方法:选择排序,插入排序,冒泡排序

 1 public class Sort {
 2 
 3     /**
 4      * 
 5      * 各种排序方法
 6      * 
 7      * @param args
 8      * @return
 9      * @return
10      */
11     public static void main(String[] args) {
12 
13         int a[] = { 12, 34, 3, 56, 9, 23, 45, 19, 13, 10 };
14 
15         Sort aa = new Sort();
16         System.out.print("插入排序的结果:");
17         aa.printArray(aa.sort1(a));
18         System.out.println();
19 
20         System.out.print("选择排序的结果:");
21         aa.printArray(aa.insertionSort(a));
22         System.out.println();
23 
24         System.out.print("冒泡排序的结果:");
25         aa.printArray(aa.sort3(a));
26     }
27 
28     // 插入排序
29     public int[] sort1(int a[]) {
30         int temp = 0;
31         for (int i = 1; i < a.length; i++) { // 要排序的那个数
32             for (int j = 0; j < i; j++) { // 依次和前边排好数对比
33                 if (a[i] < a[j]) { // 当这个数a[i]小于前边的a[j]时
34                     temp = a[i];
35                     for (; i > j; i--) { // 开始插入数据,后边的数据依次往后边移,直到第i个数
36                         a[i] = a[i - 1];
37                     }
38                     a[j] = temp;
39                 }
40             }
41         }
42         return a;
43     }
44 
45     // 选择排序
46     public int[] insertionSort(int a[]) {
47         int temp;
48         for (int i = a.length - 1; i > 0; i--) {// 从最后一个开始循环替换成余下数的最大的数
49             int max = 0; // 每次初始化最大数的坐标为0
50             for (int j = 0; j <= i; j++) { // 循环找出最大数的下标,并赋值给max
51                 if (a[max] < a[j])
52                     max = j;
53             }
54             temp = a[i]; // 再把最大值和最后一个数交换
55             a[i] = a[max];
56             a[max] = temp;
57         }
58         return a;
59     }
60 
61     // 冒泡排序
62     public int[] sort3(int a[]) {
63 
64         for (int i = a.length - 1; i > 0; i--) { //从最后一个开始循环
65             for (int j = 0; j > i; j++) {//从第一个数据开始冒泡排序,
66                 if (a[j] > a[j + 1]) {    //如果左边的数大于相邻右边的,则交换位置
67                     int temp = a[j + 1];
68                     a[j + 1] = a[j];
69                     a[j] = temp;
70                 }
71             }
72         }
73         return a;
74     }
75 
76     // 打印数组
77     public void printArray(int a[]) {
78         for (int i = 0; i < a.length; i++) { // 打印排序后的数组
79             System.out.print(a[i]);
80             if (i != a.length - 1)
81                 System.out.print(",");
82         }
83     }
84 }

 

如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。 QQ:6203142 -----在北京的四川小伙
posted @ 2015-06-16 14:53  在北京的四川小伙  阅读(151)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3