导航:首页 > 编程语言 > java数组排序自定义排序

java数组排序自定义排序

发布时间:2024-12-05 10:54:59

Ⅰ 如何用java实现一个数组的排列

首先根据数组的类型不同排序方式也是不同的,如果是基本类型数组,那么使用冒泡或者其他排序方式都是很简单的,例如:http://blog.csdn.net/yyywyr/article/details/8075433。如果不想自己写排序算法那么使用Arrays.sort()进行排序也是不错的。
如果是自定义类型的数组,推荐使用java自带的工具类:Comparable接口,并重写CompareTo()方法。或者Compartor。

Ⅱ java怎么让数组的数字从大到小排序

将数字从大到小排序的方法:

例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组中的最大数。然后再将第二个数与后面的数逐个比较,以次类推。

示例代码如下:
publicclassTest{

publicstaticvoidmain(String[]args){
int[]array={12,3,1254,235,435,236,25,34,23};
inttemp;
for(inti=0;i<array.length;i++){
for(intj=i+1;j<array.length;j++){
if(array[i]<array[j]){
temp=array[i];
array[i]=array[j];
array[j]=temp; //两个数交换位置
}
}
}
for(inti=0;i<array.length;i++){
System.out.print(array[i]+"");
}
}
}

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。

Java 语言中提供的数组是用来存储固定大小的同类型元素。

你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99

(2)java数组排序自定义排序扩展阅读

Java中利用数组进行数字排序一般有4种方法:

1、选择排序是先将数组中的第一个数作为最大或最小数,然后通过循环比较交换最大数或最小数与一轮比较中第一个数位置进行排序。

2、冒泡排序也是先将数组中的第一个数作为最大或最小数,循环比较相邻两个数的大小,满足条件就互换位置,将最大数或最小数沉底。

3、快速排序法主要是运用Arrays类中的Arrays.sort方法()实现。

4、插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。



Ⅲ 用java写 定义一个数组 将它们从小到大排列

最佳答案渣模:冒泡排序算法。一下为C#语言例子指毕:
int temp = 0;
int[] arr = { 23, 44, 66, 76, 98, 11, 3, 9, 7 };
Console.WriteLine("排序如逗缓前的数组:");
foreach (int item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine();
for (int i = 0; i < arr.Length-1; i++)
{
for (int j = 0; j < arr.Length-1-i; j++)
{
if (arr[j+1] > arr[j])
{
temp = arr[j+1];arr[j+1] = arr[j];arr[j] = temp; }
}
}
Console.WriteLine("排序后的数组:");
foreach (int item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine();
Console.ReadKey();
}

Ⅳ 详解Comparable和Comparator

排序在编程中是一项基础而关键的技能。在Java中,我们可以通过两种方式实现数组、集合等容器的排序:使用Comparable接口或Comparator接口。

实现Comparable接口意味着该类支持排序。一旦类实现了Comparable接口,其对象即可用于有序映射(如TreeMap)中的键或有序集合(如TreeSet)中的元素,无需额外指定比较器。接口中的核心函数compareTo方法返回一个int值,表示两个对象的相对大小。若返回正数,表示第一个对象大于第二个;若返回零,两者相等;若返回负数,第一个对象小于第二个。

相比之下,Comparator接口允许我们自定义排序规则,适用于那些不支持自动排序的类。实现Comparator接口的类可以创建一个比较器,通过该比较器对类进行排序。Comparator接口包含一个compare方法,用于比较两个对象。返回值同样是int类型,有三种情况:如果第一个对象大于第二个,返回正数;如果相等,返回零;如果小于第二个,返回负数。

在实际应用中,Comparable接口通常用于类内部的排序需求,而Comparator接口则用于更灵活的排序控制。因此,Comparable相当于“内部比较器”,而Comparator相当于“外部比较器”。

总结而言,Comparable和Comparator提供了灵活的排序机制,它们在Java中分别适用于自动排序和自定义排序的需求。通过合理选择和应用这两种比较器,可以高效地处理各种排序问题,从而提升代码的可读性和可维护性。

Ⅳ Java数组排序 几种排序方法详细一点

JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。

快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。

冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。

选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。

插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。

<1>利用Arrays带有的排序方法快速排序

publicclassTest2{
publicstaticvoidmain(String[]args){
int[]a={5,4,2,4,9,1};
Arrays.sort(a);//进行排序
for(inti:a){
System.out.print(i);
}
}
}

<2>冒泡排序算法

publicstaticint[]bubbleSort(int[]args){//冒泡排序算法
for(inti=0;i<args.length-1;i++){
for(intj=i+1;j<args.length;j++){
if(args[i]>args[j]){
inttemp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
returnargs;
}

<3>选择排序算法

publicstaticint[]selectSort(int[]args){//选择排序算法
for(inti=0;i<args.length-1;i++){
intmin=i;
for(intj=i+1;j<args.length;j++){
if(args[min]>args[j]){
min=j;
}
}
if(min!=i){
inttemp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
returnargs;
}

<4>插入排序算法

publicstaticint[]insertSort(int[]args){//插入排序算法
for(inti=1;i<args.length;i++){
for(intj=i;j>0;j--){
if(args[j]<args[j-1]){
inttemp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}elsebreak;
}
}
returnargs;
}
阅读全文

与java数组排序自定义排序相关的资料

热点内容
arj压缩与解压批处理怎么写 浏览:658
php和大数据哪个好 浏览:930
未来最值得投资的加密货币 浏览:526
ascii码是编译的时候用吗 浏览:781
压缩机感应包可以通用吗 浏览:412
方舟服务器怎么发布到搜索列表 浏览:270
xml防反编译 浏览:241
数据传输加密系统技术方案 浏览:842
程序员没有准备去面试 浏览:4
51单片机usb鼠标 浏览:881
qq服务器的ip地址查询 浏览:112
java仿qq聊天 浏览:400
解压的ipa重新打包 浏览:142
程序员那么可爱vip版 浏览:239
程序员怎么升职 浏览:243
图形化命令按钮vb 浏览:987
vcu盘加密怎么设置 浏览:415
如何加密备份微信聊天记录 浏览:529
安卓手机如何模拟键盘 浏览:932
查看dns地址命令 浏览:769