C++ 排序

本文内容概要:排序 ,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(要排序数组的起始地址结束的地址(最后一位要排序的地址的下一地址排序的方法

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

 先写一个简单的程序:


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值