欢迎光临散文网 会员登陆 & 注册

简单常用的几个排序方法的介绍和c++代码

2023-03-06 16:34 作者:NPNB润泽  | 我要投稿

一.冒泡排序

冒泡排序是一种最基础的交换排序.因为其简单和易理解, 一直被新手们称为yyds.下面看看冒泡排序的思路和代码实现吧!

思路:(升序排序)冒泡排序操作会从第一位开始将相邻的两个元素进行比较,并将更大的数字交换到右边, 重复此操作直到最大的数字移到最右边. 每一趟都可以把最大的数字移到最右边, 以此进行n-1趟操作来排序n个数字.

c++代码:

二.选择排序

选择排序也是初学者最喜欢的排序算法之一.

思路: 找到数组中最小的元素,将它与第一个元素交换位置,然后在剩下的元素中再找到最小的元素,将它与第二个元素交换位置,重复执行这个过程,直到整个数组排序.

c++代码:

三.快速排序

快速排序有着比冒泡排序和选择排序更好的时间复杂度,但不是那么易于理解.这里主要给出代码实现:

思路:首先确定一个数key,这里我们取数组中间的数,然后i从左到右找到比key大的数, j从右到左找比key小的数,重复此过程直到i和j相遇,此时key左边的数都比它小,右边的数都比它大.在递归的把key左边的数和右边的数执行如此操作,直到数组排列完毕:

c++代码:

四.STL中的sort函数

相信这才是最方便,大家最常用的排序方法.

需要注意,sort函数包含在头文件为#include<algorithm>的c++标准库中.

sort函数有三个参数,分别是sort(第一个元素的指针,最后 一个元素的下一位的指针,排列方法);

如果不传第三个参数,会默认从小到大排序。

希望大家给我一个免费的赞。

简单常用的几个排序方法的介绍和c++代码的评论 (共 条)

分享到微博请遵守国家法律