冒泡排序与选择排序

简介: 简单冒泡排序:package 数组排序_冒泡排序;/** * 冒泡排序算法 * * @author SeeClanUkyo int类型的数组: 3 1 6 2 5 */public class BubbleSort { public static void main(S...

简单冒泡排序:

package 数组排序_冒泡排序;

/**
 * 冒泡排序算法
 * 
 * @author SeeClanUkyo int类型的数组: 3 1 6 2 5
 */
public class BubbleSort {

    public static void main(String[] args) {

        int[] a = { 3, 1, 6, 2, 5 };

        // 开始排序
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a.length-1-i; j++) {
                if (a[j] > a[j + 1]) {
                    // 如果左边大,就跟右边交换位置
                    int temp;
                    temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
//                    //使用异或交换两个int类型的数值
//                    a[j] = a[j]^a[j+1]; //
//                    a[j+1] = a[j]^a[j+1];
//                    a[j] = a[j]^a[j+1];
                    
                }
            }
        }
        
        for(int x : a) {
            System.out.print(x+" ");
        }

    }

}

/*
原:3,1,6,2,5

31625
第一次循环:
1,3,6,2,5
1,3,6,2,5
1,3,2,6,5
1,3,2,5,6


1325
第二次循环:
1,3,2,5
1,2,3,5
1,2,3,5


123
第三次循环:
1,2,3
1,2,3


12
第四次循环:
1,2




*/

简单选择排序:

package 数组排序_选择排序;
/**
 * 选择排序
 * @author SeeClanUkyo
 *
 */
public class SelectSort3 {

    public static void main(String[] args) {

        int[] b = {60,90,100,30,97};
        
        int[] selectB = getSelectArray(b);
        
        for(int x : selectB) {
            System.out.print(x+" ");
        }
    }
    
    public static int[] getSelectArray(int[] b) {
        
        //shake with array b
        for(int i=0;i<b.length-1;i++) {
            for(int j=i+1;j<b.length;j++) {
                if (b[i] > b[j]) {
                    int tempInt = b[j];
                    b[j] = b[i];
                    b[i] = tempInt;
                }
            }
        }
        
        return b;
    }

}

 

将编程看作是一门艺术,而不单单是个技术。 敲打的英文字符是我的黑白琴键, 思维图纸画出的是我编写的五线谱。 当美妙的华章响起,现实通往二进制的大门即将被打开。
相关文章
|
运维 网络协议 安全
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
556 0
在钉钉中,如何创建表单的业务实例数据?
在钉钉中,如何创建表单的业务实例数据?
320 1
|
前端开发
如何利用dnslog探测目标主机杀软
如何利用dnslog探测目标主机杀软
395 0
|
SQL 存储 开发框架
数据库必知词汇:用户定义函数(UDF)
用户定义函数(UDF) 由一个或多个SQL语句组成的子程序,可用于封装代码以便重新使用。通常情况下不将用户限制在定义为SQL语言一部分的内置函数上,而是允许用户创建自己的用户定义函数。
2680 0
|
机器学习/深度学习 编解码 自然语言处理
【自然语言处理NLP】社区发现快速入门(1)
【自然语言处理NLP】社区发现快速入门
482 2
|
数据安全/隐私保护
雾锁王国怎么修改服务器名称和密码
本文指导如何在阿里云控制台修改雾锁王国的服务器名称和密码。
831 0
|
JavaScript 前端开发 Docker
前端的全栈之路Meteor篇(一):开发环境的搭建 -全局安装或使用容器镜像
本文介绍了如何搭建 Meteor 开发环境,包括全局安装 Meteor 工具和使用 Docker 镜像两种方法,以及创建和运行一个简单的 Meteor 项目的基本步骤。 Meteor 是一个全栈 JavaScript 框架,适用于构建实时 Web 应用程序。文章还提供了遇到问题时的解决建议和调试技巧。
605 3
|
负载均衡 安全 Java
Java中的服务治理与API网关实现
Java中的服务治理与API网关实现
|
SQL 关系型数据库 MySQL
3、SQL查询-复杂查询
3、SQL查询-复杂查询
215 0
|
JavaScript Java 测试技术
基于大学生社团活动管理的微信小程序+springboot+vue.js附带文章和源代码设计说明文档ppt
基于大学生社团活动管理的微信小程序+springboot+vue.js附带文章和源代码设计说明文档ppt
177 2