qsort(bsearch,lsearch)—标准库排序,查找
生活随笔
收集整理的這篇文章主要介紹了
qsort(bsearch,lsearch)—标准库排序,查找
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
//對字符串排序 #include<iostream> #include<cstdlib> #include<string.h> #define?N?8 using?namespace?std; int?compare(const?void?*a,const?void?*b); int?main(void) {int?i;char?s[8][10]=?{"January","February","March","April","May","June","July","September"};qsort(s,8,sizeof(char)*10,compare);for(i=0;?i<8;?i++)cout<<s[i]<<endl;return?0; } int?compare(const?void?*a,const?void?*b) {if(strlen((char?*)a)!=strlen((char?*)b))return?strlen((char?*)a)-strlen((char*)b);return?(strcmp((char?*)a,(char?*)b)); } //=============================================================== //對正型數組從小到大排序 #include<iostream> #include<cstdlib> #include<string.h> using?namespace?std; int?compare(const?void?*a,const?void?*b); int?main(void) {int?i;int?s[10]?=?{1,3,2,4,6,5,7,8,9,0};qsort(s,10,sizeof(int),compare);for(i=0;?i<10;?i++)cout<<s[i]<<endl;return?0; } int?compare(const?void?*a,const?void?*b) {if(*(int?*)a?!=?*(int?*)b)return?*(int?*)a?-?*(int?*)b;return?0; } //================================================================ //使用查找 #include?<iostream> #include?<stdlib.h> #include?<string.h> using?namespace?std; int?compare(const?void?*a,const?void?*b); int?main(void) {int?i;int?s[10]?=?{1,3,2,4,6,5,7,8,9,0};//使用排序qsort(s,10,sizeof(int),compare);for(i=0;?i<10;?i++)cout<<s[i]<<endl;//使用二分查找int?key?=?5;int?*p?=?(int?*)bsearch(&key,?s,?10,?sizeof(int),?compare);int?pos?=?p?-?s;cout<<"bsearch?pos?=?"<<pos<<endl; /*//線性查找int?tot_size?=?10;key?=?7;p?=?(int?*)lsearch(&key,?s,?&tot_size,?sizeof(int),?compare);pos?=?p?-?s;cout<<"lsearch?pos?=?"<<pos<<endl; */return?0; } //比較函數的實現 int?compare(const?void?*a,const?void?*b) {if(*(int?*)a?!=?*(int?*)b)return?*(int?*)a?-?*(int?*)b;return?0; }轉載于:https://my.oschina.net/crooner/blog/221940
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的qsort(bsearch,lsearch)—标准库排序,查找的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对C# 程序员来说现在是到目前为止最好的
- 下一篇: 64位的Linux中运行32位的应用程序