蓝桥杯学习记录

分析
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来对数列进行排序,其实底层也可以用数组直接对数列进行排序