排序法的练习

该博客展示了如何使用Java编程实现三种基本排序算法:冒泡排序、选择排序和插入排序。每种排序方法都有详细的代码实现,用于对用户输入的10个数字进行从小到大的排序。通过这些示例,读者可以更好地理解和掌握这些经典排序算法的工作原理。
摘要由CSDN通过智能技术生成

随机输入10个数字,用冒泡排序法从小到大进行排序

import java.util.Scanner;

public class MyDemo4{
    
    public static void main(String [] args){
        
        Scanner input = new Scanner(System.in);
        int [] scores = new int[10];
        for (int i=0;i<scores.length;i++) {
            System.out.print("请输入第"+(i+1)+"个数:");
            scores[i] = input.nextInt();
        }
        for ( int row=0;row<scores.length-1;row++) {
            for ( int col=0;col<scores.length-1-row;col++) {
                if ( scores[col]>scores[col+1]) {
                    int temp = scores[col];
                    scores[col] = scores[col+1];
                    scores[col+1] = temp;
                }
            }
        }
        for ( int i=0;i<scores.length;i++) {
            System.out.print(scores[i]+"\t");
        }
    }
}

随机输入10个数,用选择排序法从小到大进行排序

import java.util.Scanner;

public class MyDemo5{
    
    public static void main(String [] args){
        
        Scanner input = new Scanner(System.in);
        int [] scores = new int[10];
        for ( int i=0;i<scores.length;i++) {
            System.out.print("请输入第"+(i+1)+"个数:");
            scores[i] = input.nextInt();
        }
        for ( int row=0;row<scores.length-1;row++) {
            int last = scores.length-1-row;
            int max = 0;
            for ( int col=1;col<scores.length-row;col++) {
                if ( scores[max]<scores[col] ) {
                    max=col;
                }
            }
            if ( max!=last ) {
                int temp = scores[max];
                scores[max] = scores[last];
                scores[last] = temp;
            }
        }
        for ( int i=0;i<scores.length;i++) {
            System.out.print(scores[i]+"\t");
        }
    }
}

随机输入10个数,用插入排序法从小到大进行排序

import java.util.Scanner;

public class MyDemo6{
    
    public static void main(String [] args){
        
        Scanner input = new Scanner(System.in);
        int [] scores = new int[10];
        for ( int i=0;i<scores.length;i++) {
            System.out.print("请输入第"+(i+1)+"个数:");
            scores[i] = input.nextInt();
        }
        for ( int row=0;row<scores.length-1;row++) {
            int curr = scores[row+1];
            for ( int col=row;col>=0;col--) {
                if ( curr<scores[col]) {
                    scores[col+1] = scores[col];
                }
                else {
                    break;
                }
                scores[col] = curr;
            }
            
        }
        for ( int i=0;i<scores.length;i++) {
            System.out.print(scores[i]+"\t");
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值