「java排序两个数组」JAVA 数组排序
本篇文章给大家谈谈java排序两个数组,以及JAVA 数组排序对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java数组排序
//原理:每次都找到当次最大的数,按大小顺序依次放入数组相应位置
//比如:第一次先找到最大的数并记下其位置,如果其不在数组第一位,
//则将其与第一位交换,使最大数置于第一位
//第二次再循环查找第二大的数并记下其位置,如果其不在数组第二位,
//则将其与第二位交换,使最大数置于第二位
//依次类推.........................................
//第i次再循环查找第i大的数并记下其位置,如果其不在数组第 i位,
//则将其与第 i位交换,使最大数置于第 i位
public class SelectSort {
public static void main(String[] args) {
int[] a = {25,15,42,16,12,36};
int max = 0;
int tmp = 0;
for(int i=0;ia.length;i++){
max = i;//
/**查找第 i大的数,直到记下第 i大数的位置***/
for(int j=i+1;ja.length;j++){
if(a[max]a[j])
max = j;//记下较大数位置,再次比较,直到最大
}
/***如果第 i大数的位置不在 i,则交换****/
if(i!=max){
tmp = a[i];
a[i] = a[max];
a[max] = tmp;
}
}
for(int i=0;ia.length;i++)
System.out.print(a[i]+" ");
}
}
java 数组排序的方法
JAVA 中数组的几种排序方法:
1、数组的冒泡排序
[java] view plaincopyprint?
public void bubbleSort(int a[]) {
int n = a.length;
for (int i = 0; i n - 1; i++) {
for (int j = 0; j n - 1; j++) {
if (a[j] a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
2、数组的选择排序
[java] view plaincopyprint?
public void selectSort(int a[]) {
for (int n = a.length; n 1; n--) {
int i = max(a, n);
int temp = a[i];
a[i] = a[n - 1];
a[n - 1] = temp;
}
}
3、数组的插入排序
[java] view plaincopyprint?
public void insertSort(int a[]) {
int n = a.length;
for (int i = 1; i n; i++) { //将a[i]插入a[0:i-1]
int t = a[i];
int j;
for (j = i - 1; j = 0 t a[j]; j--) {
a[j + 1] = a[j];
}
a[j + 1] = t;
}
}
4、设置两层循环
[java] view plaincopyprint?
for(int i=0;iarrayOfInts.length;i++)
{
for(int j=i+1;jarrayOfInts.length;j++)
{
if(arrayOfInts[i]arrayOfInts[j])
{
a=arrayOfInts[i];
arrayOfInts[i]=arrayOfInts[j];
arrayOfInts[j]=a;
}
}
}
5、还有一种方法就是用Arrays.sort()方法:
[java] view plaincopyprint?
//导入包
import java.util.Arrays;
public class Two3{
public static void main(String[]args)
{
int[]arrayOfInts={32,87,3,589,12,7076,2000,8,622,127};
Arrays.sort(arrayOfInts);
for(int i=0;iarrayOfInts.length-1;i++)
{
System.out.print(arrayOfInts[i]+" ");
}
}
JAVA程序,定义两个不同的数组分别用不同的方法进行排序!谢谢!
这个不是发过了吗??
int[] a=new int[]{1,2,3,4,5};
int[] b=a;
//int[] b =new int[]{1,2,3,4,5};测试
//int[] b =new int[]{1,2,6,3};测试
if(a.equals(b)){//直接用equals判断地址。地址一样即相等
System.out.println("两个数组相等");
}
Arrays.sort(a);//通过sort方法。是按降序排序的。升序可以排序完逆序输出
for(int i=a.length-1;i=0;i--){
System.out.println(a[i]);
}
//通过二分查找。找到返回下标位置,找不到返回一个随机负数
int num=Arrays.binarySearch(a, 8);
System.out.println(num);
boolean isExists=(Arrays.binarySearch(a, 8)=0)?true:false;
if(isExists){
System.out.println("存在!");
}
java 两个数组相加然后排序
import java.util.Arrays;public class TestArray {
public static void main(String[] args) {
char[] array1 = {'@','#','8','3','*'};
char[] array2 = {'$','^','6','7','-'};
char[] array = new char[5];
for(int i=0;i5;i++) {
array[i] = (char) (array1[i] + array2[i]);
}
Arrays.sort(array);
for(int j=4;j=0;j--) {
System.out.println("array:"+array[j]);
} }} 水平有限,难免不完善,有什么问题可以联系我一起探讨。
关于java排序两个数组和JAVA 数组排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-19,除非注明,否则均为
原创文章,转载请注明出处。