STL_qsort(对int,char,vector,结构体排序举例)
2013-02-20 19:46
309 查看
#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; }
相关文章推荐
- STL中对vector容器中的结构体进行排序
- error LNK2001: unresolved external symbol "public: int __thiscall CFtProtocolThread::getFnIds(class _STL::vector > &)" (?getFnId
- C++抽象编程——STL(4)——vector中的排序和其他存储方式
- 分析C标准库中通用排序函数 qsort,并进行举例排序(数字篇)
- C++中,自定义结构体vector的排序
- STL vector find and sort vector的查找和排序
- 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法
- C++STL 排序函数sort和qsort的用法与区别
- qsort对数组字符串/结构体字符串排序
- vector中sort排序(解决char类型数据无法排序的问题)
- C++中的结构体vector排序
- C++STL中,map/multimap,set/multiset 和vector的排序
- vector成员转换为char输出的六种方法,STL的学习过程乱想
- nyoj8 一种排序(STL 自定义结构体排序)
- C++ vector的排序------对于结构体vector, 需要自己实现比较
- 一种排序(STL结构体排序)
- 简谈俩种不同方式对vector容器的 自定义结构体进行排序
- qsort sort 结构体排序
- stl::vector排序二例
- vector按存储的结构体的某一字段排序