zoukankan      html  css  js  c++  java
  • 排序数组

    此博客链接:https://www.cnblogs.com/ping2yingshi/p/12604536.html

    排序数组(38min)

    题目链接:https://leetcode-cn.com/problems/sort-an-array/

    给你一个整数数组 nums,请你将该数组升序排列。

    示例 1:

    输入:nums = [5,2,3,1]
    输出:[1,2,3,5]
    示例 2:

    输入:nums = [5,1,1,2,0,0]
    输出:[0,0,1,1,2,5]
     题解:

               题意:给顶一个数组,对数组中的数字按从小到大排序。

               方法:

                        1)选择排序。

                        2)冒泡排序。

                      

              2种思路:

                         思路1.选择排序。使用双重循环,第一个数和后面的数依次进行比较,记录后面数小的数组下标,把第一个数和后面最小的数交换,在把第二个数和后面数进行比较,找到后面数最小的下标,把第二个数和                                 后面最小的数交换,依次类推,直到倒数第二个数和倒数第一个数比较。

                        思路2.冒泡排序。使用双重循环,相邻数字之间进行比较,前者比后者大,两数交换,一趟数字交换完毕后,重头开始重新比较,直到最后数组安好序。 

    1.选择排序代码:

     int len=nums.length;
            for(int i=0;i<len-1;i++)//选择排序
            {
                int k=i;
                for(int j=i+1;j<len;j++)
                    if(nums[k]>nums[j])
                    {
                        k=j;
                    }
                int temp;
                temp=nums[i];
                nums[i]=nums[k];
                nums[k]=temp;
            }

    2.冒泡排序代码:

    int len=nums.length;
            for(int i=0;i<len;i++)//冒泡排序
            {
                for(int j=0;j<len-1-i;j++)
                    if(nums[j]>nums[j+1])
                    {
                        int temp;
                        temp=nums[j];
                        nums[j]=nums[j+1];
                        nums[j+1]=temp;
                    }
                
            }

    冒泡排序代码超时,看到测试示例,我惊呆了。测试示例如图:

  • 相关阅读:
    python基础十一之装饰器进阶
    python基础十之装饰器
    python基础九之函数
    python基础八之文件操作
    python基础七之copy
    python基础七之集合
    python基础数据类型汇总
    python基础六之编码
    synchronized关键字的内存语义
    对于this和当前线程的一些理解
  • 原文地址:https://www.cnblogs.com/ping2yingshi/p/12604536.html
Copyright © 2011-2022 走看看