数组从大到小排序
算法思想:
比较相邻的元素。如果第一个比第二个小,就交换他们两个。
对数据中的每个元素进行此操作,一直到最后一个为止,但是 注 意 最后一个不用 因为他没有下一个元素和他进行比较,他的前一个元素已经和他排好顺序了;
JAVA算法实现:
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner (System,in);
int num = sc.nextInt();//获取用户输入的数字,依次作为申请的数组长度
int [] nums = new int[num];
for(int i =0;i<num;i++){
nums[i]=sc.nextLine();//获取用户输入的数据
}
for(int i =0;i<num-1;i++){
for(int j=i+1;j<num;j++){
if(nums[i]<nums[j]){
int temp = nums[i];
nums[i]=nums[j];
nums[j]=temp;
}
}
}
//输出排好顺序的数据
for(int i = 0;i<num;i++){
System.out.println(nums[i]);
}
}
}
围绕两两比较的中心思想来思考,不难,虽然我看了好几遍。排序算法还有好多,继续努力!
网友评论