本文主要是介绍Data7.21数列排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
问题描述
- 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1 <= n <= 20000;
输入格式
- 第一行为一个整数n;
- 第二行包含n个整数,为待排序的数,每个整数的绝对值小于20000;
输出格式
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9
思路
- 使用冒泡排序法;重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。
- 如果数列进行到没有需要交换的值,则排列完成;
- 比较两个数的大小,利用中间人来转换数值的位置;
代码
package data;
import java.util.Scanner;
public class Data721 {
//冒泡排序
public static void main(String[] args)
{
int n;
Scanner cin = new Scanner(System.in);
n = cin.nextInt();
Integer[] f = new Integer[n+1];
int i;
for (i = 0; i < n; i++) {
f[i] = cin.nextInt();
}
int k,j;
for (i = 0;i<n;i++)
{
for(j= i+1;j<n;j++)
{
if(f[i]>f[j])
{
k = f[i];
f[i] = f[j];
f[j] = k;
}
}
}
for(i = 0;i<n;i++)
{
System.out.print(f[i] + " ");
}
}
}
这篇关于Data7.21数列排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!