冒泡排序

数组从大到小排序

算法思想:

比较相邻的元素。如果第一个比第二个小,就交换他们两个。

对数据中的每个元素进行此操作,一直到最后一个为止,但是 注 意 最后一个不用  因为他没有下一个元素和他进行比较,他的前一个元素已经和他排好顺序了;

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]);

              }

      }

}

围绕两两比较的中心思想来思考,不难,虽然我看了好几遍。排序算法还有好多,继续努力!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容