冒泡排序与选择排序

一、冒泡排序

复制代码
 1 package day0911;
 2 
 3 import java.util.Arrays;
 4 
 5 /**
 6  * 冒泡排序
 7  */
 8 public class MaoPaoPaiXu {
 9     public static void main(String args[]){
10         //定义一个数组
11         int [] maopao = {32,16,68,54,97,85,13,20};
12         //外层循环-1,maopao.length表示数组长度
13         for(int i=0;i<maopao.length-1;i++){
14             //内层循环-1-i,总共八个数
15             for (int j=0;j<maopao.length-1-i;j++){
16                 //定义一个空瓶子
17                 int temp = 0;
18                 //三个空瓶子互换模式
19                 //如果前面的大于后面的,则把前面的数换到后面来,从小到大排序
20                 //如果想从大到小排序,则用小于符号
21                 if (maopao[j]>maopao[j+1]){
22                     //如果maopao[j]大于后面的,则赋值给空瓶子
23                     //如果不大于,则maopao[j]位置不变
24                     temp=maopao[j];
25                     //如果前后对比数值小,则前移
26                     maopao[j]=maopao[j+1];
27                     //前后数值对比较大的数往后移
28                     maopao[j+1]=temp;
29                 }
30             }
31             //内层循环每次都要执行打印
32             //System.out.print(Arrays.toString(maopao));
33         }
34         //想要输出数组类型就得用Arrays.toString
35         System.out.print(Arrays.toString(maopao));
36     }
37     
38 }
复制代码

二、选择排序

复制代码
package day1010;

/**
 * @author donleo
 * date 2019-10-10
 * code 选择排序
 */

public class SelectionSort {
    public static void main(String[] args) {
        //模拟数据
        int[] array = {52, 63, 14, 59, 68, 35, 8, 67, 45, 99};
        System.out.println("原数组:");
        for (int i : array){
            System.out.print(i+" ");
        }
        System.out.println();
        SelectionSort(array);
        System.out.println("排序后:");
        for (int i : array){
            System.out.print(i+" ");
        }

    }

    public static void SelectionSort(int arr[]){
        for (int i=0;i<arr.length-1;i++){
            int min = i;
            for (int j=i+1;j<arr.length-1;j++){
                if (arr[j]<arr[min]){
                    min=j;
                }
            }
            if (min!=i){
                swap(arr,i,min);
            }
        }
    }

    public static void swap(int arr[],int a,int b){
        int temp=arr[a];
        arr[a] = arr[b];
        arr[b] = temp;
    }
}
复制代码

 

posted @   donleo123  阅读(366)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示