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