蓝桥杯学习记录
 
分析
 1.给一列数,然后给这列数排序(给定的数列不是有序的,也不能确定为基本有序),所以我们在选择排序方法的时候选择简单冒泡排序
 2.有两个输入,第一行输入这列数的个数,第二行输入这列数
 3.输出,要求从小到大输出
package jiChuTest;
import java.util.*;
//数组排序
//输入n个数
//实现他们由小到大的输出
public class NumList {
	static NumList test1 = new NumList();
	public static void main(String[] args) {
		
		Scanner sca = new Scanner(System.in);
		//输入 第一个参数表示数列的数的个数
		int n = sca.nextInt();
		//用一个list来存放这些数
		ArrayList<Integer> list = new ArrayList<Integer>();
		//遍历输入这些数
		for(int i =0; i< n;i++) {
			list.add(sca.nextInt());
		}
		sca.close();
		Object[]arr =list.toArray();
// System.out.println(list);
		
		NumList.method(arr);
		NumList.print(arr,n);
	}
	//简单冒泡排序算法实现对数列的排序
	public static void method(Object arr[]) {
		for(int i =0;i<arr.length;i++){
			for(int j=0;j<arr.length-1;j++)
			{
				if((int)arr[j]>(int)arr[j+1])
				{
					NumList.sort(arr,j,j+1);
				}
			}
		}
	}
	public static void sort(Object[]arr,int i,int j) {
		int temp= (int) arr[i];
		arr[i]=arr[j];
		arr[j]=temp;
	}
	//控制输出
	public static void print(Object[]arr,int n) {
		for(int i = 0;i<n;i++) {
			System.out.print(arr[i]+" ");
		}
	}
}
测试结果
 
思考
 这里采用了list来对数列进行排序,其实底层也可以用数组直接对数列进行排序

 京公网安备 11010502036488号
京公网安备 11010502036488号