① 誰能告訴我c語言的排序演算法函數庫,及其用法啊
一般的排序演算法都是採用循環,比如將要排列的值賦給一個數組,再定義一個臨時變數。
採用循環,比如For循環對數組a(10)的升序排列,從數組第一個數開始和第二個數比較,如果第一個數比第二個數大,那麼將第一個數賦給臨時變數,第二個數給數組第一個變數,再將臨時變數值給第二個數。接下來比較第2個和第3個。。。。。。。
dim i, x
for i = 1 to 9
if a(i)>a(i+1) then
x=a(i)
a(i)=a(I+1)
a(i+1)=x
end if
next i
上面是VB的語句,C的我忘記怎麼寫了,反正思路就是這樣了。你應該能看懂。
② C++里關於list的排序演算法
1樓的說法是正確的。
不過,有更方便、更高效的實現方法。
#include <iostream>
#include <list>
#include <string>
using namespace std;
struct Test
{
string Name;
int order;
};
bool comp(const Test &lhs, const Test &rhs)
{
return lhs.order < rhs.order;
}
int main(int argc, char *argv[])
{
list<Test> testList;
Test te;
te.Name = "AAA";
te.order = 1;
testList.push_back(te);
te.Name = "BBB";
te.order = 3;
testList.push_back(te);
te.Name = "CCC";
te.order = 2;
testList.push_back(te);
te.Name = "DDD";
te.order = 5;
testList.push_back(te);
te.Name = "EEE";
te.order = 4;
testList.push_back(te);
testList.sort(comp);//************
for(list<Test>::const_iterator citer = testList.begin(); citer != testList.end(); ++citer)
{
cout << citer->Name << "\t" << citer->order << "\n";
}
cout << endl;
system("pause");
return 0;
}
一句話實現功能, 且效率更高。
③ 對於Excel資料庫,排序是按照什麼來進行的
Excel作為一款常用的辦公軟體,功能眾多,方便又強大。特別是對數據的處理、演算法、排序等非常方便。但是,強大的同時有些功能又讓使用者難以理解使用。有時,很多朋友都有遇到一個問題,文件的數據太多、雜亂,沒有按照一定有序的順序排列,這樣就很不方便。下面就教教大家Excel怎樣使用數據排序。具體操作步驟如下:
1.首先,打開exc軟體,有如圖所示這個例子,大家可以看到,圖中紅框所標注的「編號」和「工資」兩欄的數字都處於亂序狀態,也就是沒有一定的排序,准備把它排成有規律的順序。
④ 資料庫,演算法:採用什麼排序演算法,感覺什麼order by time/id/slary 不管怎麼變,一下就出來了,怎麼這么快
數據表根據欄位不同排序方式也不同啊。帶索引的欄位本身就是有序的,是通過一個具有線索的B+樹存放的。其中相關索引(聚合索引)排序最快,因為每個元組的數據都是和它關聯的。非索引欄位排序是很慢的,要用到堆排序和,錦標賽演算法和歸並等等,不會用快速排序,因為快排不穩定,而且不能動態規劃,必須一次排完,堆排可以只找最大(或最小)的n條記錄。
⑤ 常見的排序演算法哪個效率最高
快速排序法。
⑥ 資料庫建立某個屬性的索引並且排序是怎麼排的
建立索引是為了快速的找到某條記錄,而排序是把取出的記錄放至一塊內存中,按照某種排序演算法完成排序並輸出