java中怎样对一个整数数组进行降序排序
4个回答
展开全部
int[] array = {1,2,5,8,12}; //随便定义一个数组,用冒泡排序法
for (int i = 0;i < array.length;i++){
for(int j = i;j < array.length;j++){
if (array[i] < array[j]){
int temp = array[i];
array[i] = array[j];
array[i] = temp;
}
}
}
或者你有一个数组
List list = new ArrayList();
list.sort();
for (int i = 0;i < array.length;i++){
for(int j = i;j < array.length;j++){
if (array[i] < array[j]){
int temp = array[i];
array[i] = array[j];
array[i] = temp;
}
}
}
或者你有一个数组
List list = new ArrayList();
list.sort();
展开全部
方法很多 java有自带的方法sort 同时也可以自己写排序算法
冒泡
快排
选择
插入
推排
等等
相应的算法你可以自己去搜索
冒泡排序的代码:
public class Arraysort1{
public static void main(String args[]){
int score[]={67,89,87,69,90,100,75,90};
long starttime=System.nanoTime();
for(int i=1;i<=100000;i++){
sort(score);
}
long endtime=System.nanoTime();
System.out.println("Time taken by program:"+(endtime-starttime)+"ns");
}
public static void sort(int temp[]){
for(int i=1;i<temp.length;i++){
for(int j=temp.length-1;j>i;j--){
if(temp[j]<temp[j-1]){
int x=temp[j];
temp[j]=temp[j-1];
temp[j-1]=x;
}
}
}
}
快速排序的代码:
public class Arraysort2{
public static void main(String args[]){
int score[]={67,89,87,69,90,100,75,90};
long starttime=System.nanoTime();
for(int i=1;i<=100000;i++){
java.util.Arrays.sort(score);
}
long endtime=System.nanoTime();
System.out.println("Time taken by program:"+(endtime-starttime)+"ns");
}
冒泡
快排
选择
插入
推排
等等
相应的算法你可以自己去搜索
冒泡排序的代码:
public class Arraysort1{
public static void main(String args[]){
int score[]={67,89,87,69,90,100,75,90};
long starttime=System.nanoTime();
for(int i=1;i<=100000;i++){
sort(score);
}
long endtime=System.nanoTime();
System.out.println("Time taken by program:"+(endtime-starttime)+"ns");
}
public static void sort(int temp[]){
for(int i=1;i<temp.length;i++){
for(int j=temp.length-1;j>i;j--){
if(temp[j]<temp[j-1]){
int x=temp[j];
temp[j]=temp[j-1];
temp[j-1]=x;
}
}
}
}
快速排序的代码:
public class Arraysort2{
public static void main(String args[]){
int score[]={67,89,87,69,90,100,75,90};
long starttime=System.nanoTime();
for(int i=1;i<=100000;i++){
java.util.Arrays.sort(score);
}
long endtime=System.nanoTime();
System.out.println("Time taken by program:"+(endtime-starttime)+"ns");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int[] array = {1,2,5,8,12}; //随便定义一个数组,用冒泡排序法
for (int i = 0;i < array.length;i++){
for(int j = i;j < array.length;j++){
if (array[i] < array[j]){
int temp = array[i];
array[i] = array[j];
array[i] = temp;
}
}
}
for (int i = 0;i < array.length;i++){
for(int j = i;j < array.length;j++){
if (array[i] < array[j]){
int temp = array[i];
array[i] = array[j];
array[i] = temp;
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
二分排序
例:
int []a={4,2,1,6,3,6,0,-5,1,1};
int i,j;
int low,high,mid;
int temp;
for(i=1;i<10;i++){
temp=a[i];
low=0;
high=i-1;
while(low<=high){
mid=(low+high)/2;
if(a[mid]>temp)
high=mid-1;
else
low=mid+1;
}
for(j=i-1;j>high;j--)
a[j+1]=a[j];
a[high+1]=temp;
}
for(i=0;i<10;i++){
System.out.printf("%d",a[i]);
}
例:
int []a={4,2,1,6,3,6,0,-5,1,1};
int i,j;
int low,high,mid;
int temp;
for(i=1;i<10;i++){
temp=a[i];
low=0;
high=i-1;
while(low<=high){
mid=(low+high)/2;
if(a[mid]>temp)
high=mid-1;
else
low=mid+1;
}
for(j=i-1;j>high;j--)
a[j+1]=a[j];
a[high+1]=temp;
}
for(i=0;i<10;i++){
System.out.printf("%d",a[i]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询