有关数组的排序方法

本文介绍了冒泡排序和插入排序的基本概念,强调了两层循环在实现中的关键作用,并提到了这两种简单排序算法的时间复杂度。
摘要由CSDN通过智能技术生成

1.我们经常使用循环嵌套来遍历数组中的值,从而达到排序的作用。

冒泡排序:冒泡排序是一种简单的排序算法,通过重复遍历要排序的数列,对每对相邻元素进行比较和交换,逐步将最大的元素“浮”到数列的顶端。其核心思想是不断地通过比较和交换,使得每轮遍历后序列中最大的元素都会移动到数列的末尾。这个过程重复进行,直到整个序列有序。冒泡排序的名字由来是因为小的元素会通过交换逐渐向上“冒泡”到顶端,如同碳酸饮料中二氧化碳气泡最终会上浮到顶端一样。

重点是两层循环的编写;语言中的程序编程如下;

插入排序

插入排序是一种简单的排序算法,其基本思想是将待排序的数据分为已排序和未排序两部分。在每趟排序过程中,它会从一个未排序的元素开始,将其插入到已排序序列的正确位置,从而创建一个新的有序子集。这个过程会一直持续直到整个序列被排序完成。

具体来说,插入排序的步骤如下:

从数组的末尾开始,将第一个元素作为已排序部分的首部。
从已排序部分的末尾开始,遍历整个已排序部分。
对于每个未排序的元素,将其与已排序部分的所有元素进行比较。
如果未排序的元素大于等于已排序部分的最后一个元素,则将其插入到已排序部分的末尾。
如果未排序的元素小于已排序部分的最后一个元素,则无需插入,继续比较下一个未排序的元素。
插入排序的时间复杂度为O(n^2),其中n是待排序数组的长度。在最差的情况下,即待排序数组完全逆序排列时,时间复杂度可达到最大值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值