java怎么让数组的数字从大到小排序?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎么让数组的数字从大到小排序?相关的知识,希望对你有一定的参考价值。
参考技术A将数字从大到小排序的方法:
例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组中的最大数。然后再将第二个数与后面的数逐个比较,以次类推。
示例代码如下:
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、插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。
在matlab中从大到小排序
编写一个功能函数fun1( ),该函数能够将输入矩阵A中的所有元素从大到小排成一行输出,并同时输出各元素在原矩阵当中所处的行、列位置。
当A为向量时:sort(A)实现从小到大排序;
sort(A,'descend')实现从大到小排序;
sort(A,'ascending')实现从小到大排序;
当A为矩阵时:
sort(A)实现按列从小到大排序;
sort(A,'descend')同理。
sort(A,'ascending')同理。
sort(A,2)实现按行从小到大排序;
sort(A,2,'descend')同理。
用[x,y]=sort(A)可以把A按从小到大排序
并给出在A中相应的下标(y中记录的是下标)
你想要几个最大的数,就从后往前取几个y的值就可以了
或者用x,y]=sort(A,'descend')从大到小排序
输出前面的值就可以了
参考资料:http://hi.baidu.com/2008zhenghui
参考技术A function [pos,row] =find_matrix(a);handle =fopen('pos.txt','w');
dim =size(a);
C =reshape(a,1,[]);
row =sort(C,'descend');
fprintf(handle,'After sort : %g \r\n\r\n',row);
for index =1:length(C)
pos = find(a==C(index));
if mod(pos,dim(1))==0
rowtp =dim(1);
else
rowtp =mod(pos,dim(1));
end
if pos/dim(1)-mod(pos/dim(1),1)>0
cltp =pos/dim(1)-mod(pos/dim(1),1);
else
cltp =1;
end
fprintf(handle,'%g is at : row = %g ,column =%g \r\n\r\n',C(index),rowtp,cltp);
end
fclose(handle);
end 参考技术B 1、字符串排序应该用sortrows函数。
2、你的变量a使用cell数组感觉非常别扭,处理起来麻烦很多,不如直接用结构数组(那样代码中的两次转换都可以省去)。
示例代码:
a1.text='bb';
a2.text='aa';
a1.data=4;
a2.data=8;
%
转为结构数组
a=[a:];
%
按字符串排序
[b,idx]=sortrows(a.text');
a=a(idx);
%
转回cell数组
a=mat2cell(a,1,ones(1,length(a)));
%
查看结果
a1
a2
以上是关于java怎么让数组的数字从大到小排序?的主要内容,如果未能解决你的问题,请参考以下文章