本文内容概要:排序 ,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(要排序数组的起始地址,结束的地址(最后一位要排序的地址的下一地址,排序的方法)
这里说明一下:排序的方法有时是可以不写的,默认的是从小到大的排序
先写一个简单的程序: