import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Test
{
//升序
public static int[] Ascending(int[] input){
for(int i=0;i<input.length;i++){
int j=i;
for(;j<input.length-1;j++){
if(input[j]>input[j+1]){
int temp =input[j];
input[j]=input[j+1];
input[j+1]=temp;
}
}
}
return input;
}
//降序
public static int[] Descending(int[] input){
for(int i=0;i<input.length;i++){
int j=0;
for(;j<input.length-1;j++){
if(input[j]<input[j+1]){
int temp =input[j];
input[j]=input[j+1];
input[j+1]=temp;
}
}
}
return input;
}
public static void main(String[] args)
{
int[] array=new int[]{8,2,5,3,8};
// int[] newArray=Test.Ascending(array);
int[] newArray=Test.Descending(array);
for(int i:newArray){
System.out.println(i);
}
}
}
代码做了改进,首次运行上面的代码没发现问题,但觉得不符合逻辑,所以做了修改。还增加了查询的方法。
package test;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Test
{
//查找
public static int[] findIndex(int[] input,int value){
int sum=0;
for(int i=0;i<input.length;i++){
if(input[i]==value){
sum++;
}
}
if(sum==0){
return null;
}
int[] re=new int[sum];
int index=0;
for(int i=0;i<input.length;i++){
if(input[i]==value){
re[index]=i;
index++;
}
}
return re;
}
//升序
public static int[] Ascending(int[] input){
for(int i=0;i<input.length;i++){
int j=0;
for(;j<input.length-i-1;j++){
if(input[j]>input[j+1]){
int temp =input[j];
input[j]=input[j+1];
input[j+1]=temp;
}
}
}
return input;
}
//降序
public static int[] Descending(int[] input){
for(int i=0;i<input.length;i++){
int j=0;
for(;j<input.length-i-1;j++){
if(input[j]<input[j+1]){
int temp =input[j];
input[j]=input[j+1];
input[j+1]=temp;
}
}
}
return input;
}
public static void main(String[] args)
{
int[] array=new int[]{8,2,5,3,8};
// int[] indexarry=Test.findIndex(array, 2);
// if(null!=indexarry){
// for(int i:indexarry){
// System.out.println(i);
// }
// }else{
// System.out.print("no found");
// }
//
// int[] newArray=Test.Ascending(array);
int[] newArray=Test.Descending(array);
for(int i:newArray){
System.out.println(i);
}
}
}