数列排序

蓝桥杯学习记录

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-15 12:20
点赞 评论 收藏
分享
07-18 15:02
门头沟学院 Java
刚打开网申页面就不想填了,还是不要为难自己了
poppinzhan...:多益老行业毒瘤了,碰到徐波这种恶心的烂人,去了也是受罪。
点赞 评论 收藏
分享
07-14 13:37
重庆大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务