前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >两种基础的数组排序方法。

两种基础的数组排序方法。

作者头像
传说之下的花儿
发布2023-04-16 14:35:06
2020
发布2023-04-16 14:35:06
举报

方法一: 选择排序: 选择排序就是不断地从未排序的元素中选择最大(或者最下)的元素放入已经排好序的元素集合中,直到未排序中仅剩一个元素为止

代码语言:javascript
复制
   public static void main(String[] args) {
        int[]arr={1,6,4,3,2,5};
        /*外循环 将数组里的参数逐个进内循环去比较 从第一个到倒数第二个
          为了保证后面存在数去比较 避免内循环数组下标越界异常
        * */
        for (int i = 0; i < arr.length-1; i++) {
            /*传进去一个数去和没比较的数去比较 如果大于就交换位置
              如果不大于就和下一个数比较 直到大于或者一波内循环结束*/
            for (int i1 = i+1; i1 < arr.length; i1++) {
                if(arr[i]>arr[i1]){
                    int temp;
                    temp=arr[i];
                    arr[i]=arr[i1];
                    arr[i1]=temp;
                }
            }
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+"\t");
        }
    }

方法二:冒泡排序: 冒泡排序的原理(以递增序为例)是每次从头开始依次比较相邻的两个元素, 如果后面一个元素比前一个要大,说明顺序不对,则将它们交换, 本次循环完毕之后再次从头开始扫描,直到某次扫描中没有元素交换, 说明每个元素都不比它后面的元素大,至此排序完成。

代码语言:javascript
复制
	public static void main(String[] args)
	{
		int[]a={2,1,4,5,3};
		for(int i=1;i<a.length;i++)      //外循环相当于重新扫描的次数 
		{      							 //直到某次扫描中没有元素交换,
			for(int j=0;j<a.length-i;j++)
			{
				int temp;                //内循环为了进行相邻的两个元素的大小比较 和元素交换
				if(a[j]>a[j+1])
				{
					temp=a[j];
					a[j]=a[j+1];
					a[j+1]=temp;
				}
			}
		}
		System.out.println(Arrays.toString(a));
	}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档