sort排列

xiaoxiao2021-02-28  52

sort排序

简介:

在C++中,STL中就自带了排序函数sort,它的意义是对给定区间所有元素进行排序。

用法:

1. 首先,使用sort函数就必须添加头文件 #include <algorithm>. 2. 其次,在运用时以sort(begin,end)形式编写,如下代码

int a[10] for(i=0;i<10;i++) cin >> a[i]; //输入一个乱序数组 short(a,a+10); //从a[0]开始,一直到结束位即最后一位a[9] for(i=0;i<10;i++) cout << a[i] << endl; //输出排序后的数组

3. 一般来说sort函数是默认从小到大排序的。

下面我们来编写一个完整的代码

题目要求是将一串代码按照从小到大排列后,求排列后的数组与原数组对应为相减求得的差(即排序后的第n位减去排序前的第n位的差)。
#include <iostream> #include <algorithm> using namespace std; int main() { int a[100],b[100],n,i; cin >> n; for(i=0;i<n;i++) { cin >> a[i]; //输入一个乱序的数组a b[i]=a[i]; } for(i=0;i<n;i++) cout << a[i] << " "; //先看一下排序前顺序输出的数 cout << endl; sort(a,a+n); //按格式运用sort函数 for(i=0;i<n;i++) cout << a[i] << " "; //先看一下此时(排序后)顺序输出的数 cout << endl; for(i=0;i<n;i++) cout << a[i]-b[i] << " "; return 0; }

如果有不太懂C++的宝宝,可以百度看看c++的基本汇编语言。

讲了sort函数是从小到大排列的,那么如果你想让她从大到小排列,需要在主函数外在编写一个函数,通过函数调用实现目标。
我们在这里用到了bool(布尔类型),且此时在使用sort函数时调用了三个参数即sort (begain,end,name)(name代表编写的函数名,这里我用的是bijiao)
如下是代码
#include <iostream> #include <algorithm> using namespace std; bool compare(int a,int b) { return a>b; } int main() { int a[100],n,i; cin >> n; for(i=0;i<n;i++) cin >> a[i]; for(i=0;i<n;i++) cout << a[i] << " "; //先看一下排序前顺序输出的数 cout << endl; sort(a,a+n,compare); //这里sort调用了三个参数 for(i=0;i<n;i++) cout << a[i] << " "; //此时(排序后)顺序输出的数 return 0; }

如果有不懂布尔类型 (bool)的宝宝,请看下一篇博客。祝你越学越好。

转载请注明原文地址: https://www.6miu.com/read-2620096.html

最新回复(0)