杂文

[1.1]使用库语言排序算法


本文地址: http://blog.csdn.net/caroline_wendy


假设不缺少内存, 能够直接使用库的排序算法.


使用库语言的排序程序:

C语言性能最好的算法是高速排序(quick sort).

C++性能最好的是集合(set)的排序算法.


C语言代码:

/*
 * main.cpp
 *
 *  Created on: 2014.6.12
 *      Author: Spike
 */

/*eclipse cdt, gcc 4.8.1*/

#include <stdio.h>
#include <stdlib.h>

using namespace std;

int intcomp(const void *x, const void * y) {
	return x - y;
}
int a[1000000];
int main(void) {
	int i, n=0;
	while (scanf("%d", &a[n])!=EOF)
		n++;
	qsort(a, n, sizeof(int), intcomp);
	for (i=0; i<n; ++i)
		printf("%d
", a[i]);
	return 0;
}

输出:

2 5 7 9 12 98 11
2
5
7
9
11
12
98

C++代码:

/*
 * main.cpp
 *
 *  Created on: 2014.6.12
 *      Author: Spike
 */

/*eclipse cdt, gcc 4.8.1*/

#include <iostream>
#include <iterator>
#include <set>

using namespace std;

int main(void) {
	set<int> S;
	int i;
	set<int>::iterator j;
	while (cin>>i)
		S.insert(i);
	copy(S.begin(), S.end(), ostream_iterator<int>(cout, " "));
	cout << endl;
}

输出:

12 36 75 41 52 71 6 12
6 12 36 41 52 71 75 





原文地址:https://www.cnblogs.com/bhlsheji/p/5177261.html