重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
将数字从大到小排序的方法:
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了珠海免费建站欢迎大家使用!
例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组中的最大数。然后再将第二个数与后面的数逐个比较,以次类推。
示例代码如下:
public class Test {
public static void main(String[] args) {
int [] array = {12,3,1254,235,435,236,25,34,23};
int temp;
for (int i = 0; i array.length; i++) {
for (int j = i+1; j array.length; j++) {
if (array[i] array[j]) {
temp = array[i];
array[i] = array[j];
array[j] = temp; // 两个数交换位置
}
}
}
for (int i = 0; i array.length; i++) {
System.out.print(array[i]+" ");
}
}
}
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。
Java 语言中提供的数组是用来存储固定大小的同类型元素。
你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99
扩展资料
Java中利用数组进行数字排序一般有4种方法:
1、选择排序是先将数组中的第一个数作为最大或最小数,然后通过循环比较交换最大数或最小数与一轮比较中第一个数位置进行排序。
2、冒泡排序也是先将数组中的第一个数作为最大或最小数,循环比较相邻两个数的大小,满足条件就互换位置,将最大数或最小数沉底。
3、快速排序法主要是运用Arrays类中的Arrays.sort方法()实现。
4、插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。
快速排序法、冒泡法、选择排序法、插入排序法
1.快速排序:
import java.util.Arrays;
public class Test2{
public static void main(String[] args){
int[] a={5,4,2,4,9,1};
Arrays.sort(a); //进行排序
for(int i: a){
System.out.print(i);
}
}
}
2.冒泡排序
public static int[] bubbleSort(int[] args){//冒泡排序算法
for(int i=0;iargs.length-1;i++){
for(int j=i+1;jargs.length;j++){
if (args[i]args[j]){
int temp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
return args;
}
3.选择排序
public static int[] selectSort(int[] args){//选择排序算法
for (int i=0;iargs.length-1 ;i++ ){
int min=i;
for (int j=i+1;jargs.length ;j++ ){
if (args[min]args[j]){
min=j;
}
}
if (min!=i){
int temp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
return args;
}
4.插入排序
public static int[] insertSort(int[] args){//插入排序算法
for(int i=1;iargs.length;i++){
for(int j=i;j0;j--){
if (args[j]args[j-1]){
int temp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}else break;
}
}
return args;
}
/**
* 2015年5月28日下午9:52:57
*
* @author season TODO 测试已通过,获取财富值
*
*/
public class ArrayOperation {
/**
* 对数组 arr 进行冒泡排序升序排序
*
* @param arr
* 目标数组
*/
public static void bubbleToUp(int[] arr) {
if (null == arr)// 数组为空时,退出该方法
return;
for (int i = 0; i arr.length - 1; i++) {
for (int j = 0; j arr.length - i - 1; j++) {
if (arr[j] arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
/**
* 使用选择排序法对目标数组进行降序排序
*
* @param arr
* 目标数组
*/
public static void selectToDown(int[] arr) {
for (int i = 0; arr != null i arr.length; i++) {
int flag = i;
for (int j = i + 1; j arr.length; j++) {
if (arr[j] arr[flag])
flag = j;
}
if (flag != i) {
int temp = arr[i];
arr[i] = arr[flag];
arr[flag] = temp;
}
}
}
/**
* 遍历数组所有元素
*
* @param arr
* 目标数组
*/
public static void displayArray(int[] arr) {
System.out.println();
for (int num : arr)
System.out.print(" " + num);
}
public static void main(String[] args) {
// 初始化数组
int[] arr = { 20, -878, 90, 78, 89, -908 };
// 首先进行冒泡排序(升序)
bubbleToUp(arr);
displayArray(arr);
// 然后进行选择排序(降序)
selectToDown(arr);
displayArray(arr);
}
}
自己写的三种传统排序法。快排法主要是自己也没怎么搞明白……
(你可以建数组来存数据,就不写完整的了。)
public void insert(int[] a3) {//插入排序法
// TODO Auto-generated method stub
System.out.println("插入法");
int temper=0;
for(int i=1;ia3.length;i++){
for(int j=i;j0;j--){
if(a3[j]a3[j-1]){
temper=a3[j];
a3[j]=a3[j-1];
a3[j-1]=temper;
}else break;
}
}
}
//插入排序法完
//选择排序法
public void select(int[] a2) {
// TODO Auto-generated method stub
System.out.println("选择排序法");
int temper=0;
for (int i = 0; i a2.length-1; i++) {
int min = a2[i];
int minFoot = i;
for (int j = i + 1; j a2.length; j++) {
if (min a2[j]) {
min=a2[j];
minFoot=j;
}
}
temper=a2[i];
a2[i]=min;
a2[minFoot]=temper;
}
}
//选择排序法完
//冒泡排序法
public void Bubbling(int[] a1) {
System.out.println("冒泡排序法");
int temper = 0;
for (int i = 0; i a1.length - 1; i++) {
for (int j = 0; j a1.length - 1 - i; j++) {
if (this.a1[j] this.a1[j + 1]) {
temper = a1[j];
a1[j] = a1[j + 1];
a1[j + 1] = temper;
}
}
}
}
//冒泡排序法完