1樓:手機使用者
sort是stl中的函式,如何使用要看你用的什麼容器。你要包陣列中的元素先匯入容器中,如vector,list等。然後象呼叫一般的類方法一樣使用。
sort()的實現方法要看你的stl的實現版本。用的是用快速排序,有的是用intro排序。快速排序的一般複雜度為nlogn,最差情況為n2。
intro排序複雜度始終為nlogn。
2樓:蝸牛爬阿爬
#include
#include
using namespace std;
main()
;//a的長度=待排資料個數+1
sort(a,a+10);//對[a,a+10)排序for(int i=0;i<10;++i) cout<
3樓:亥朝辛自 #include void sort( iterator start, iterator end); void sort( iterator start, iterator end, strictweakordering cmp); 第一個只需要傳遞你要排序的串(整形陣列等都行)的頭指標(陣列第一個元素的指標)與陣列最後元素的下一個位置,sort是一個模板哈 第二個前面兩個引數同第一,但第三個引數是傳遞一個你定義用於排序的函式(返回比較的大小值,如strcmp或自定義的都行),因為第一個用的是預設的哈 c++ sort()函式用法 4樓:匿名使用者 #include void sort( iterator start, iterator end ); void sort( iterator start, iterator end, strictweakordering cmp ); c++中sort()怎麼用 5樓:匿名使用者 #include void sort( iterator start, iterator end ); void sort( iterator start, iterator end, strictweakordering cmp ); 第一bai個只需要傳 du遞你要排zhi序的串(整形陣列dao等都行)的頭指 內針(陣列第一個元素容的指標)與陣列最後元素的下一個位置,sort是一個模板哈 第二個前面兩個引數同第一,但第三個引數是傳遞一個你定義用於排序的函式(返回比較的大小值,如strcmp或自定義的都行),因為第一個用的是預設的哈 6樓:匿名使用者 nlogn,快排是最快的了 c++中排序函式sort用的是什麼方法排序 7樓:匿名使用者 stl的sort函式在資料量大時採用快排,分段遞迴排序,一旦分段後的資料小於某個值,就改用插入排序。如果遞迴層次過深,還會改用堆排序。這樣就結合了各類演算法的所有優點。 8樓:匿名使用者 void sort( iterator start, iterator end ); void sort( iterator start, iterator end, strictweakordering cmp ); 第一個只需要傳遞你要排序的串(整形陣列等都行)的頭指標(陣列第一個元素的指標)與陣列最後元素的下一個位置 第二個前面兩個引數同第一,但第三個引數是傳遞一個你定義用於排序的函式(返回比較的大小值,如strcmp或自定義的都行),因為第一個用的是預設的哈 9樓:匿名使用者 標準庫裡面有qsort,也就是快速排序,而std::sort是一個改進版的qsort,更加細緻,對不同陣列大小採用不同方法排序。 c++ algorithm 裡的sort函式怎麼用 10樓:四舍**入 sort函式用法例如: sort(a,a+n,cmp); 是對陣列a降序排序 又如 else return 0;} sort(a,a+n,cmp); 是先按x升序排序,若x值相等則按y升序排。 預設的sort函式是按升序排,sort(a,a+n); //兩個引數分別為待排序陣列的首地址和尾地址。 擴充套件資料: sort函式語法 sort(start,end,cmp) 引數1、start表示要排序陣列的起始地址 2、end表示陣列結束地址的下一位 3、cmp用於規定排序的方法,可不填,預設升序 功能sort函式用於c++中,對給定區間所有元素進行排序,預設為升序,也可進行降序排序。 一般是直接對陣列進行排序,例如對陣列a[10]排序,sort(a,a+10),而sort函式的強大之處在可與cmp函式結合使用,即排序方法的選擇。 sort()函式是c++一種排序方法之一,相較氣泡排序和選擇排序所帶來的執行效率不高的問題,sort()函式使用的排序方法是類似於快速排序的方法,時間複雜度為n*log2(n),執行效率較高。 11樓:匿名使用者 msdn中的定義: templatevoid sort(ranit first, ranit last); //--> 1)templatevoid sort(ranit first, ranit last, pred pr); //--> 2) 標頭檔案: #include using namespace std; 1.預設的sort函式是按升序排。對應於1) sort(a,a+n); //兩個引數分別為待排序陣列的首地址和尾地址 2.可以自己寫一個cmp函式,按特定意圖進行排序。對應於2) 例如: sort(a,a+n,cmp); 是對陣列a降序排序 又如 else return 0; }sort(a,a+n,cmp); 是先按x升序排序,若x值相等則按y升序排 與此類似的還有c中的qsort,以下同附上qsort的使用方法: #include 格式 qsort(array_name,data_number,sizeof(data_type),compare_function_name) (void*)bsearch (pointer_to_key_word,array_name,find_number, sizeof(data_type),compare_function_name) e.g. int cmp(const void*a,const void *b) qsort(data,n,sizeof(int),cmp); // 對int型陣列進行快速排序(非降序排列) 12樓:匿名使用者 可以不填,如果不填就是從小到大排序。 #include using namespace std; #include #include int main(void) for(int i = 0; i < n; i++)cin >> m[i]; sort(m, m + n); for(int i = 0; i < n; i++)cout << m[i] << ends;//ends是空格return 0; }如果填的話就是 從大到小排序: #include using namespace std; #include #include bool cmp(int a,int b)int main(void) for(int i = 0; i < n; i++)cin >> m[i]; sort(m, m + n, cmp); for(int i = 0; i < n; i++)cout << m[i] << ends;//ends是空格return 0; }說白了,第三個引數就是我們自己寫的一個函式,這個函式只要返回只為int型別就可以了並且有兩個引數就可以了,但是若真的想要做到排序,只要讓(從小到大)這個函式裡寫return ab; /*cmp只是函式名稱,是可以隨便定義的。a和b的型別也不一定是int,可以是float、double、甚至你自己寫的結構體。但注意你比較的元素不再是a > b*/ int cmp(int a, int b)如有一個結構體陣列: struct node a[100]; 那麼cmp函式應該這麼寫: int cmp(struct node a, struct node b) 按照v的大小來從大到小排序只需要: sort(a, a + 100, cmp); 13樓:貿金蘭嬴橋 void sort( iterator start, iterator end); void sort( iterator start, iterator end, strictweakordering cmp); 第一個只需要傳遞你要排序的串(整形陣列等都行)的頭指標(陣列第一個元素的指標)與陣列最後元素的下一個位置 第二個前面兩個引數同第一,但第三個引數是傳遞一個你定義用於排序的函式(返回比較的大小值,如strcmp或自定義的都行),因為第一個用的是預設的哈 c++stl中的sort()函式 能對連結串列進行排序嗎? 14樓:匿名使用者 sort演算法的迭代器用的是隨機訪問迭代器,連結串列的不是,因此不能用該演算法,陣列和vector可以 樓上的英文就是這個意思:randomaccessiterator 15樓:匿名使用者 sort演算法的迭代器用的是隨機訪問迭代器(randomaccessiterator ),連結串列的不是,因此不能用該演算法,陣列和vector可以. 16樓:一高小鬼 如果,你建立的是個連結串列的類,sort()就可以直接用物件進行呼叫成員a.sort(),一般不用引數 c++ 的stl的sort()函式是什麼排序,快速排序嗎? 17樓:匿名使用者 不是簡單的快排 stl的sort()演算法,資料量大時採用quick sort,分段遞迴排序,一旦分段後的資料量專小於某個門檻,為避屬免quick sort的遞迴呼叫帶來過大的額外負荷,就改用insertion sort。如果遞迴層次過深,還會改用heap sort。 18樓:匿名使用者 stl的sort()演算法,抄 資料量大時採用quick sort,分段遞迴排序,一旦分段後的資料量小於某個門檻,為避免quick sort的遞迴呼叫帶來過大的額外負荷,就改用insertion sort。如果遞迴層次過深,還會改用heap sort。 你如果要按照x的大小順序牌還是y 的大小順序牌,int comp const void a,const void b vc6 幫助裡的對qsort 裡compare函式指標引數的要求 compare void elem1,void elem2 the routine must compare the... 不是簡單的快排 stl的sort 演算法,資料量大時採用quick sort,分段遞迴排序,一旦分段後的資料量專小於某個門檻,為避屬免quick sort的遞迴呼叫帶來過大的額外負荷,就改用insertion sort。如果遞迴層次過深,還會改用heap sort。stl的sort 演算法,抄 資料... 傻,不會變通,直接用select from table where id in a1,a2,a3.明白了嗎?也可以把id拆分出來,既然是id拆分出來以後全部轉成數字,再重新組合,就不用引數了,也不會被注入了。不可以,in使用引數時會強制轉換引數型別與條件欄位一致,不支援構造字串 如果欄位本身為var...cqsort對結構體排序,C 中sort怎麼對結構體陣列中的字串陣列排序?
c的stl的sort函式是什麼排序,快速排序嗎
c中如何使用in傳遞sql語句引數