① 谁能告诉我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条记录。
⑤ 常见的排序算法哪个效率最高
快速排序法。
⑥ 数据库建立某个属性的索引并且排序是怎么排的
建立索引是为了快速的找到某条记录,而排序是把取出的记录放至一块内存中,按照某种排序算法完成排序并输出