Java排序
给出10个数,使用某种排序方法,按照从小到大的顺序输出个个数。
根据要求,首先得给出这10个数,这里的算法需要一个循环,数据结构需要一个长度为10的整型数组。首先用BufferedReader in=new BufferedReader(new InputStreamReader(System.in));从键盘接收数据,然后定义一个数组int a[ ]=new int[10];用来存放数据,接下来就是将每个数字存入for(i=0;i<=9;i++){a[i] = Integer.parseInt(in.readLine()); }。然后就是排序了。凡是排序基本上都是二重循环。这里可以采用这种思路:从第一个数开始,每个数与它后面的那个数比较,把较小的放到前面,较大的放到后面。这样从前到后走一遍,最大的数就放到最后了。这样从第一个数到倒数第二个数就构成了外面的那层循环,即for(i=0;i<=8;i++)。而内层循环就是对下标为i的数来说,从它开始拿它和它后面的数比,小的放前面大的放后面。因为这里是以它后面的数到头为止,所以得另设一个整型变量j=i+1来表示“后面的数”的下标,故内层循环为for(j=i+1;j<=9;j++)。循环体按照小前大后的思路,用一个中间变量倒腾一下就行了if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}。
完整代码如下:
import java.io.*;
public class shiyan25 { /**
* @param args
*/
public static void main(String[] args) {
try
{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
int i,n=10;
int a[ ]=new int[10];
System.out.println("请输入10个整数:");
for(i=0;i<=9;i++){
a[i] = Integer.parseInt(in.readLine());
}
int j,t;
for(i=0;i<=8;i++){
for(j=i+1;j<=9;j++){
if(a[i]>a[j]){
t=a[i];a[i]=a[j];a[j]=t;
}
}
}
for(i=0;i<10;i++){
System.out.print(a[i]+" ");
}
}
catch(Exception e){ }
}
}
效果如图:
Java排序的更多相关文章
- 常用Java排序算法
常用Java排序算法 冒泡排序 .选择排序.快速排序 package com.javaee.corejava; public class DataSort { public DataSort() { ...
- java排序集锦
java实现排序的一些方法,来自:http://www.javaeye.com/topic/548520 package sort; import java.util.Random; /** * 排序 ...
- Java排序算法之直接选择排序
Java排序算法之直接选择排序 基本过程:假设一序列为R[0]~R[n-1],第一次用R[0]和R[1]~R[n-1]相比较,若小于R[0],则交换至R[0]位置上.第二次从R[1]~R[n-1]中选 ...
- (转)JAVA排序汇总
JAVA排序汇总 package com.softeem.jbs.lesson4; import java.util.Random; /** * 排序测试类 * * 排序算法的分类如下: * 1.插入 ...
- java排序算法(一):概述
java排序算法(一)概述 排序是程序开发中一种非常常见的操作,对一组任意的数据元素(活记录)经过排序操作后,就可以把它们变成一组按关键字排序的一组有序序列 对一个排序的算法来说,一般从下面三个方面来 ...
- java排序算法(十):桶式排序
java排序算法(十):桶式排序 桶式排序不再是一种基于比较的排序方法,它是一种比较巧妙的排序方式,但这种排序方式需要待排序的序列满足以下两个特征: 待排序列所有的值处于一个可枚举的范围之类: 待排序 ...
- java排序算法(九):归并排序
java排序算法(九):归并排序
- java排序算法(八):希尔排序(shell排序)
java排序算法(八):希尔排序(shell排序) 希尔排序(缩小增量法)属于插入类排序,由shell提出,希尔排序对直接插入排序进行了简单的改进,它通过加大插入排序中元素之间的间隔,并在这些有间隔的 ...
- java排序算法(七):折半插入排序
java排序算法(七):折半插入排序 折半插入排序法又称为二分插入排序法,是直接插入排序法的改良版本,也需要执行i-1趟插入.不同之处在于第i趟插入.先找出第i+1个元素应该插入的位置.假设前i个数据 ...
- java排序算法(六):直接插入排序
java排序算法(六):直接插入排序 直接插入排序的基本操作就是将待的数据元素按其关键字的大小插入到前面的有序序列中 直接插入排序时间效率并不高,如果在最坏的情况下,所有元素的比较次数的总和为(0+1 ...
随机推荐
- SQL行转列汇总
PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P ...
- 安装Weblogic11g
1.下载weblogic11g http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574. ...
- Oracle corrupt block(坏块) 详解
转自:http://blog.csdn.net/tianlesoftware/article/details/5024966 一. 坏块说明 1.1 相关链接 在看坏块之前,先看几个相关的链接,在后面 ...
- ReferenceError: Sys is not defined
项目框架MVC3 <form action="/Organization/Update" method="post" onclick="Sys. ...
- 区域生长算法(附MATLAB代码实现)
一.理论概念 区域生长是按照事先定义的生长准则将一个像素或者子区域逐步聚合成一个完整独立的连通区域过程.对于图像感兴趣目标区域R,z为区域R上事先发现的种子点,按照规定的生长准则逐步将与种子点z一定邻 ...
- sendmessage和postmessage的区别
BOOL PostMessage( HWND hWnd, // handle of destination window ...
- Decks
Now that we have Card objects, the next step is to define a class to represent decks. Since a deck i ...
- USACO Section 3.2 01串 Stringsobits
题目背景 考虑排好序的N(N<=31)位二进制数. 题目描述 他们是排列好的,而且包含所有长度为N且这个二进制数中1的位数的个数小于等于L(L<=N)的数. 你的任务是输出第i(1< ...
- TCP/IP详解学习笔记(1)-- 概述
1.TCP/IP的分层结构 网络协议通常分不同层次进行开发,每一层分别负责不同的同信功能.TCP/IP通常被认为是一个四层协议系统. 如图所示. 1)链路层(数据链路层 ...
- C#基础知识点
一.方法(结构.数组.冒泡排序.3个参数重载) 1将string转换为int类型 Convert.ToInt32(); int.Parse() ; int.TryParse()三种方式. 2 结构:可 ...