读书人

STL_qsort(对intcharvector构造

发布时间: 2013-02-24 17:58:56 作者: rapoo

STL_qsort(对int,char,vector,结构体排序举例)

#include <iostream>#include <algorithm>#include <cstdio>#include <vector>#include <cstring>using namespace std;int cmp_int(const void *a, const void *b) {    return *(int *)a - *(int *)b;}bool cmp_stl(int a, int b) {    return a > b;}int cmp_char( const void *a , const void *b ){    return *(char *)a - *(char *)b ;}void print(int *a,int n){    for(int i=0; i<n; i++) {        cout << a[i] << " ";    }    cout << endl;}bool qsort_int() {    cout << "qsort_int:" << endl;    int num[12];    cout << "请输入十个数: ";    for(int i = 0; i < 10; i++) {        scanf("%d", &num[i] );    }    qsort(num, 10, sizeof(num[0]), cmp_int );    for(int i = 0; i < 10; i++) {        cout << num[i] << ' ';    }    cout << endl;    return true;}void qsort_stl() {    cout << "qsort_stl: " << endl;    vector<int> v;    for(int i = 0; i < 5; i++) {        v.push_back(i);    }    for(int i = 10; i >= 5; i--) {        v.push_back(i);    }    cout << "befor: " ;    for(int i = 0; i <= 10; i++) {        cout << v[i] << ' ';    }    cout << endl;    cout << "after: ";    sort(v.begin(), v.end());    for(int i = 0; i <= 10; i++) {        cout << v[i] << ' ';    }    cout << endl;    cout << "agagin";    sort(v.begin(), v.end(), cmp_stl);    for(int i = 0; i <= 10; i++) {        cout << v[i] << ' ';    }    cout << endl;}void qsort_char() {     cout << "qsort_char: " << endl;     cout << "请输入一个字符串:" ;     int len = 0;     char word[100];     cin >> word;     len = strlen(word);     qsort(word, len , sizeof(char), cmp_char); //将len替换为100即出错。     puts(word);}int main() {    qsort_int();    qsort_stl();    qsort_char();    return 0;}

2楼wangwenhao00昨天 20:02
http://www.cnblogs.com/BeyondAnyTime/archive/2012/05/22/2513776.html
1楼wangwenhao00昨天 20:00
http://blog.csdn.net/daoluanxiaozi/article/details/7367349

读书人网 >编程

热点推荐