sort()
sort()函數是對連續空間排序,最好用數組首地址和偏移量這種寫法,如果用 & 地址就必須完全包括進去不然就出現各種奇怪的結果:
頭文件<iostream> 和 <algorithm>
【sort排序結構體】請看poj 1543 Perfect Cubes【sort排序結構體】
用 首地址+偏移量 【正確】
#include<iostream> #include <algorithm> using namespace std; int main() { int a[5]={6,5,87,7,9}; sort(a,a+5); //最好用這個 //sort(&a[0],&a[5]); int i; for(i=0;i<5;i++) printf("%d ",a[i]); return 0; }
用 & 地址寫法:
sort(&a[0],&a[5]);【正確】
sort(&a[0],&a[4]); 【錯誤】
sort(&a[1],&a[5]); 【錯誤】
sort 對於 字符串也可以很好的排序
#include<iostream> #include <algorithm> using namespace std; int main() { char a[6]="bcdae"; printf("%s\n",a); int i; for(i=0;i<5;i++) printf("%c ",a[i]); printf("\n"); sort(a,a+5); for(i=0;i<5;i++) printf("%c ",a[i]); return 0; }
最後更新:2017-04-03 14:53:48