C++ 排序

本文介绍了C++中的排序方法,包括插入排序和选择排序,并提到了C++标准库中的`sort`函数。文章通过一个SDNU OJ 1182题目实例,详细解释了如何使用结构体进行多条件排序,强调了`sort`函数配合自定义`cmp`函数在处理结构体排序中的重要性。此外,还提及了SDNU 1012题,涉及开区间合并的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文内容概要:排序 ,sort,结构体。

首先先写两个可以用于排序的函数(摘自挑战程序设计禁赛第二版)

①插入排序法

 paixu (A,N) //包含N个元素的0起点数组A

for i 从0—>N-1

v=A[i]     

j=i-1;      

while j>=0&& A[j]>v     

A[J+1]=A[j]

j--

A[j+1]=v

方法简述:①:将开头元素视作已排序  ②:取出未排序部分的开头元素赋给变量v   

        ③:在已排序部分,将所有比v大的元素向后移动一个单位④:将以取出的元素V插入空位

②选择排序法

paixu(A,N)

for i0-->N-1            

min=1

for j 从i-->N-1

if A[j]<A[min]

min=j

A[i]与A[min]互换

方法简述①:找出未排序部分最小值的位置min    ②:将min位置的元素与未排序部分的起始元素交换

我们在写代码时,可以C++中有自带的排序函数,即sort 函数

sort函数包含在主文件#Include<algorithm>中

sort函数中包含了多种排序的方法,比如上述的两种,在使用时它会自己选择更为合适的排序方法来降低时间复杂度。

sort(要排序数组的起始地址结束的地址(最后一位要排序的地址的下一地址排序的方法

       这里说明一下:排序的方法有时是可以不写的,默认的是从小到大的排序

 先写一个简单的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值