Java之数组排序问题总结

博客主要介绍了选择法排序和冒泡法排序。选择法排序是依次将当前位与剩余位比较,把小的换到当前位;冒泡法排序是相邻两位比较,将大的往后换。还提及了两种排序方法的程序实现,但未给出具体代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 选择法排序

1.1 思路

  1. 把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来,比较完后,第一位就是最小的;
  2. 然后再从第二位和剩余的其他所有进行比较,只要比第二位小,就换到第二个位置来 比较完后,第二位就是第二小的;
  3. 依此类推,直到比较完数组的最后一位数。

1.2 程序实现

import java.util.Scanner;
public class HelloWorld {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入数组的长度:");
		int a=sc.nextInt();
		System.out.println("请输入数组:");
		int[] b=new int[a];
		for (int i=0;i<a;i++) {
			b[i]=sc.nextInt();
		}// 已经输入一个数组
		for (int j=0;j<a;j++) {
			for (int k=j+1;k<a;k++) {
				if (b[j]>b[k]) {
					int d=b[j];
					b[j]=b[k];
					b[k]=d;
				}
		}
		}//选择法排序
		System.out.println("排序后的数组:");
		for (int m:b) {
			System.out.print(m);
			System.out.print(" ");}
	}

}

2 冒泡法排序

1.1 思路

  1. 从第一位开始,把相邻两位进行比较,如果发现前面的比后面的大,就把大的数据交换在后面,循环比较完毕后,最后一位就是最大的;
  2. 再来一次,只不过不用比较最后一位。

1.2 程序实现

import java.util.Scanner;
public class HelloWorld {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入数组的长度:");
		int a=sc.nextInt();
		System.out.println("请输入数组:");
		int[] b=new int[a];
		for (int i=0;i<a;i++) {
			b[i]=sc.nextInt();
		}// 已经输入一个数组
		//开始对数组进行排序
		for (int k=a;k>0;k--)
		for (int j=0;j<k-1;j++) {
				if (b[j]>b[j+1]) {
					int d=b[j];
					b[j]=b[j+1];
					b[j+1]=d;
				}
		}//冒泡法排序
		System.out.println("排序后的数组:");
		for (int m:b) {
			System.out.print(m);
			System.out.print(" ");}
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

就是二二二二婷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值