演算法學習,演算法學習網站

來源:互聯網
上載者:User

演算法學習,演算法學習網站
排序函數sort()

這個函數是STL內建的,功能很強大~ 這裡教下使用方法。
sort()有三個參數,第一個是排序的起始位置,第二個是排序的結束位置,第三個是排序的判斷函數。函數原型為:
sort(<#_RandomAccessIterator __first#>, <#_RandomAccessIterator __last#>, <#_Compare __comp#>)
這個就是原型了~

使用方法

首先假設我們有一個vector<int> vec;向量容器,存放了很多無序正數,那麼我們就開始用sort給這些整數排序。首先其實位置是:vec.begin()結束位置是:vec.end(),比較函數可以不寫,預設是升序。也可以手寫。

代碼實現

直接看代碼實現會很簡單~

////  main.cpp//  hdu_1040////  Created by Alps on 15/1/3.//  Copyright (c) 2015年 chen. All rights reserved.////http://acm.hdu.edu.cn/showproblem.php?pid=1040#include <iostream>#include <vector>using namespace std;bool sortRule(int a, int b){    return a < b;}int main(int argc, const char * argv[]) {    int n;    scanf("%d",&n);    int num;    int a = 0;    for (int i = 0; i < n; i++) {        scanf("%d",&num);        vector<int> list;        while (num--) {            scanf("%d",&a);            list.push_back(a);        }        sort(list.begin(), list.end(), sortRule);        vector<int>::iterator iter;        for (iter = list.begin(); iter != list.end(); iter++) {            printf("%d",*iter);            if (iter == list.end()-1) {                printf("\n");            }else{                printf(" ");            }        }    }    return 0;}

這就是個實現代碼了~測試例子請看:

http://acm.hdu.edu.cn/showproblem.php?pid=1040 給的輸入格式。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.