首页 > 人工智能 > 正文

java一维数组排序,编写一个java程序,能完成排序和查找,分别使用链表,数组和二叉树等数据结构,比较各种方法的优缺点。

2020-05-20 09:42:38  来源:http://www.capsicumpm.com  编辑:admin

java 如何创建一个可以对任意类型的数组排序的方法

publicstaticvoidmain(String[]args){Integer[]intArray={6,5,4,3,2,1};genSort(intArray,true);for(intx:intArray)System.out.print(x+"\t");System.out.println();genSort(intArray,false);for(intx:intArray)System.out.print(x+"\t");System.out.println();}publicstatic<TextendsNumber>voidgenSort(T[]waitSortArray,booleanisAsc){booleanflag=true;do{flag=false;for(inti=1;i<waitSortArray.length;i++){if(isAsc){if(waitSortArray[i-1].doubleValue()>waitSortArray[i].doubleValue()){Ttemp=waitSortArray[i-1];waitSortArray[i-1]=waitSortArray[i];waitSortArray[i]=temp;flag=true;}}else{if(waitSortArray[i-1].doubleValue()<waitSortArray[i].doubleValue()){Ttemp=waitSortArray[i-1];waitSortArray[i-1]=waitSortArray[i];waitSortArray[i]=temp;flag=true;}}}}while(flag);}本回答被网友采纳

JAVA中数组使用冒泡排序问题

public int[] ssss(int[] a){for (int i = 0; i < a.length -1; i++){ //最多做n-1趟排序 for(int j = 0 ;j < a.length - i - 1; j++){ //对当前无序区间a[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的) if(a[j] < a[j + 1]){ //把小的值交换到后面 int temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } } return a;}

JAVA 数组排序问题

double[] test = new double[5];test[0] = 1;test[1] = 22;test[2] = 3;test[3] = 45;test[4] = 15;//如果自定义排序:采用冒泡排序法for (int i = 5; i > 0; i--) {//由于循环一次,排出一个最大的元素,所以比较次数为i-1for (int j = 0; j < i-1; j++) {//判断当前元素是否大于后面元素,则达到升序排列//如果需要降序排列改成test[j]<test[j+1]即可if(test[j]>test[j+1]){//如果大于则将当前元素和后面的元素互调 //这就是冒泡排序原理,大的数向右移动double temp = test[j];test[j]= test[j+1];test[j+1] = temp;}}}for (int i = 0; i < 5; i++) {System.out.println(test[i]);} 我想问的是date[0] = (2001,5,6);这种赋值方式,Java里面有吗

声明一个有20个元素的数组arr,将arr进行升序排序 用JAVA SCRIPT

var aa[]={1,5,4,3,2,8,7,9,13,20,16,17,14,15,19,18,12, 11};for(var i=0; i<aa.length; i++){ for(var j=i+1; j<aa.length; j++){ if(aa[j]<aa[i]){ //aa[j]和aa[i]交换位置 var temp = aa[j]; aa[j]=aa[i]; aa[i] = temp; } }}

用java编写一个一维数组将其排序并找出最大值和最小值

int a[n];//数组int tmp=0;//临时变量for(int i=0;i<n;++i)for(int j=0;j<n-1;++j){ if(a[j]>a[j+1])//满足条件交换,大于或者小于改变就是升序或者降序. { tmp=a[j]; a[j]=a[j+1] a[j+1]=tmp; }}//这是一个完全不考虑效率的冒泡排序.应该比较好理解..排序后数组有序..然后 0 与n就是最大与最小..我是直接在上面打的..所以有点不工整..你加个主方法然后调试一下..有问题给我说