91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

(C++)std::sort以及std::qsort用法(藍橋杯序列排序)

發布時間:2020-07-25 09:17:03 來源:網絡 閱讀:451 作者:夢T醒 欄目:編程語言
函數名 功能描述
sort 對給定區間所有元素進行排序
stable_sort 對給定區間所有元素進行穩定排序
partial_sort 對給定區間所有元素部分排序
partial_sort_copy 對給定區間復制并排序
nth_element 找出給定區間的某個位置對應的元素
is_sorted 判斷一個區間是否已經排好序
partition 使得符合某個條件的元素放在前面
stable_partition 相對穩定的使得符合某個條件的元素放在前面

(C++)std::sort以及std::qsort用法(藍橋杯序列排序)sort用法
我們最常用的sort函數,sort函數有升序和降序,默認為升序

//默認用法(升序)
#include<iostream>
using namespace std;
#include<algorithm>
#include<cstdlib>

int main()
{
    int n;
    cin >> n;
    int a[200];

    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
    sort(a,a+n);
    for (int i = 0; i < n; i++)
        cout << a[i]<<" ";
    return 0;
}
//一般用法(降序)
#include<iostream>
using namespace std;
#include<algorithm>
#include<cstdlib>

bool compare(int a,int b)
{
    return a>b;//如果改為  return a<b;  是升序
}
int main()
{
    int n;
    cin >> n;
    int a[200];

    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
    sort(a,a+n,compare);
    for (int i = 0; i < n; i++)
        cout << a[i]<<" ";
    return 0;
}

整合版:ASE是升序,DESC是降序

enum NumComp{ASE,DESC};//枚舉出升降序變量
 //創建一個類
class compare 
{
private:
    NumComp com;
public:
//構造函數
    compare(NumComp c)
        :com(c)
    {}
    bool operator()(int a, int b)// ()重載
    {
        switch (com)
        {
        case ASE:
            return a < b;
        case DESC:
            return a > b;
        }
    }
};

int main()
{
    int n;
    cin >> n;
    int a[200];

    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
    sort(a, a + n,compare(DESC));//改為ASE是升序
    for (int i = 0; i < n; i++)
        cout << a[i] << " ";
    return 0;
}

qsort用法
qsort升降序與compare函數有關,并且compare函數必須用戶自己給出

#include <iostream>
#include <cstdlib>
using namespace std;

int compare(const void *a, const void *b)//類型自定,double*,char*等
{
//升序
    return *(int*)a - *(int*)b;   // return *(int*)b-*(int*)a;降序
}

int  main()
{
    int a[10] = { 5, 6, 4, 3, 7, 0, 8, 9, 2, 1 };
    qsort(a, sizeof(a) / sizeof(a[0]), sizeof(int), compare);
    for (int i = 0; i < 10; i++)
        cout << a[i] << " " << endl;
    return 0;
}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南丹县| 崇文区| 秭归县| 江永县| 兴安县| 衡南县| 台东县| 平度市| 崇州市| 大方县| 漳平市| 翁源县| 余干县| 正定县| 错那县| 福安市| 修文县| 汝州市| 太仆寺旗| 耒阳市| 武安市| 芜湖市| 扎鲁特旗| 迁西县| 河南省| 琼海市| 菏泽市| 安康市| 田林县| 克拉玛依市| 金门县| 京山县| 成安县| 巴彦县| 兰考县| 甘孜县| 宜昌市| 遂昌县| 无极县| 宜兰市| 丰顺县|