theboyaply

学,就硬学!

  • Home
  • Archives
  • Java
  • Maven
  • Docker
  • Kubernetes
  • JavaScript
  • ES6
  • Vue
  • 踩坑记录
  • noted

  • 搜索
element ui vue wsimport webservice npm mysql redis node nginx nfs ftp es6 开发工具 vscode 前端 javascript springboot 常见问题 tomcat oracle jenkins maven k8s Linux gitlab docker java

java基础六(两种排序方法)

发表于 2020-01-06 | 分类于 Java | 0 | 阅读次数 639

使用数组完成冒泡排序和快速直接排序

冒泡排序

每次循环,用第i和i+1两位数比较,取最大/小的数

        int[] number = new int[]{23, 54, 12, 7, -2, -89, 324, 0, 89, 34};
        for (int i = 0; i < number.length - 1; i++) {
            for (int j = 0; j < number.length - 1 - i; j++) {
                if (number[j] > number[j + 1]) {
                    number[j] = number[j] ^ number[j + 1];
                    number[j + 1] = number[j] ^ number[j + 1];
                    number[j] = number[j] ^ number[j + 1];
                }
            }
        }

快速直接排序

每次循环,找到最小/大的数放到最前面

        int[] number = new int[]{23, 54, 12, 7, -2, -89, 324, 0, 89, 34};
        for (int i = 0; i < number.length - 1; i++) {
            int temp = i;
            for (int j = i; j < number.length; j++) {
                if (number[temp] > number[j]) {
                    temp = j;
                }
            }
            if (temp != i) {
                number[i] = number[temp] ^ number[i];
                number[temp] = number[temp] ^ number[i];
                number[i] = number[temp] ^ number[i];
            }
        }
# java
java基础五(数组的使用)
java基础七(类与对象)
  • 文章目录
  • 站点概览
theboyaply

theboyaply

好记性不如烂笔头

184 日志
13 分类
27 标签
Github E-mail
Creative Commons
0%
© 2019 — 2023 theboyaply
由 Halo 强力驱动
|
主题 - NexT.Gemini
湘ICP备19009291号

湘公网安备 43312402001034号